diff --git a/build/linux/JUCE.make b/build/linux/JUCE.make index 34a32da02d..78f8440609 100644 --- a/build/linux/JUCE.make +++ b/build/linux/JUCE.make @@ -291,19 +291,20 @@ OBJECTS := \ $(OBJDIR)/juce_TopLevelWindow.o \ $(OBJDIR)/juce_ComponentPeer.o \ $(OBJDIR)/juce_AlertWindow.o \ - $(OBJDIR)/juce_linux_FileChooser.o \ - $(OBJDIR)/juce_linux_Fonts.o \ - $(OBJDIR)/juce_linux_Messaging.o \ - $(OBJDIR)/juce_linux_Midi.o \ - $(OBJDIR)/juce_linux_NamedPipe.o \ - $(OBJDIR)/juce_linux_Threads.o \ - $(OBJDIR)/juce_linux_SystemStats.o \ - $(OBJDIR)/juce_linux_WebBrowserComponent.o \ - $(OBJDIR)/juce_linux_Audio.o \ - $(OBJDIR)/juce_linux_Network.o \ - $(OBJDIR)/juce_linux_AudioCDReader.o \ $(OBJDIR)/juce_linux_Files.o \ + $(OBJDIR)/juce_linux_Audio.o \ + $(OBJDIR)/juce_linux_Fonts.o \ + $(OBJDIR)/juce_linux_Network.o \ + $(OBJDIR)/juce_linux_NamedPipe.o \ + $(OBJDIR)/juce_linux_Midi.o \ $(OBJDIR)/juce_linux_Windowing.o \ + $(OBJDIR)/juce_linux_AudioCDReader.o \ + $(OBJDIR)/juce_linux_Threads.o \ + $(OBJDIR)/juce_linux_Messaging.o \ + $(OBJDIR)/juce_linux_SystemStats.o \ + $(OBJDIR)/juce_linux_NativeCode.o \ + $(OBJDIR)/juce_linux_FileChooser.o \ + $(OBJDIR)/juce_linux_WebBrowserComponent.o \ MKDIR_TYPE := msdos CMD := $(subst \,\\,$(ComSpec)$(COMSPEC)) @@ -1605,42 +1606,7 @@ $(OBJDIR)/juce_AlertWindow.o: ../../src/juce_appframework/gui/components/windows @echo $(notdir $<) @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_linux_FileChooser.o: platform_specific_code/juce_linux_FileChooser.cpp - -@$(CMD_MKOBJDIR) - @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_linux_Fonts.o: platform_specific_code/juce_linux_Fonts.cpp - -@$(CMD_MKOBJDIR) - @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_linux_Messaging.o: platform_specific_code/juce_linux_Messaging.cpp - -@$(CMD_MKOBJDIR) - @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_linux_Midi.o: platform_specific_code/juce_linux_Midi.cpp - -@$(CMD_MKOBJDIR) - @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_linux_NamedPipe.o: platform_specific_code/juce_linux_NamedPipe.cpp - -@$(CMD_MKOBJDIR) - @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_linux_Threads.o: platform_specific_code/juce_linux_Threads.cpp - -@$(CMD_MKOBJDIR) - @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_linux_SystemStats.o: platform_specific_code/juce_linux_SystemStats.cpp - -@$(CMD_MKOBJDIR) - @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - -$(OBJDIR)/juce_linux_WebBrowserComponent.o: platform_specific_code/juce_linux_WebBrowserComponent.cpp +$(OBJDIR)/juce_linux_Files.o: platform_specific_code/juce_linux_Files.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" @@ -1650,17 +1616,22 @@ $(OBJDIR)/juce_linux_Audio.o: platform_specific_code/juce_linux_Audio.cpp @echo $(notdir $<) @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" +$(OBJDIR)/juce_linux_Fonts.o: platform_specific_code/juce_linux_Fonts.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + $(OBJDIR)/juce_linux_Network.o: platform_specific_code/juce_linux_Network.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_linux_AudioCDReader.o: platform_specific_code/juce_linux_AudioCDReader.cpp +$(OBJDIR)/juce_linux_NamedPipe.o: platform_specific_code/juce_linux_NamedPipe.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/juce_linux_Files.o: platform_specific_code/juce_linux_Files.cpp +$(OBJDIR)/juce_linux_Midi.o: platform_specific_code/juce_linux_Midi.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" @@ -1670,5 +1641,40 @@ $(OBJDIR)/juce_linux_Windowing.o: platform_specific_code/juce_linux_Windowing.cp @echo $(notdir $<) @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" +$(OBJDIR)/juce_linux_AudioCDReader.o: platform_specific_code/juce_linux_AudioCDReader.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/juce_linux_Threads.o: platform_specific_code/juce_linux_Threads.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/juce_linux_Messaging.o: platform_specific_code/juce_linux_Messaging.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/juce_linux_SystemStats.o: platform_specific_code/juce_linux_SystemStats.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/juce_linux_NativeCode.o: platform_specific_code/juce_linux_NativeCode.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/juce_linux_FileChooser.o: platform_specific_code/juce_linux_FileChooser.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/juce_linux_WebBrowserComponent.o: platform_specific_code/juce_linux_WebBrowserComponent.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + -include $(OBJECTS:%.o=%.d) diff --git a/build/linux/platform_specific_code/juce_linux_Audio.cpp b/build/linux/platform_specific_code/juce_linux_Audio.cpp index fbdfea120e..f5fee1c561 100644 --- a/build/linux/platform_specific_code/juce_linux_Audio.cpp +++ b/build/linux/platform_specific_code/juce_linux_Audio.cpp @@ -29,38 +29,13 @@ ============================================================================== */ -#include "../../../juce_Config.h" +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE #if JUCE_ALSA -#include "linuxincludes.h" - //============================================================================== -/* Got an include error here? If so, you've either not got ALSA installed, or you've - not got your paths set up correctly to find its header files. - - The package you need to install to get ASLA support is "libasound2-dev". - - If you don't have the ALSA library and don't want to build Juce with audio support, - just disable the JUCE_ALSA flag in juce_Config.h -*/ -#include - - -//============================================================================== -#include "../../../src/juce_core/basics/juce_StandardHeader.h" - -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_appframework/audio/devices/juce_AudioIODeviceType.h" -#include "../../../src/juce_core/threads/juce_Thread.h" -#include "../../../src/juce_core/threads/juce_ScopedLock.h" -#include "../../../src/juce_core/basics/juce_Time.h" -#include "../../../src/juce_core/io/files/juce_File.h" -#include "../../../src/juce_core/io/files/juce_FileInputStream.h" -#include "../../../src/juce_core/basics/juce_Singleton.h" -#include "../../../src/juce_appframework/audio/dsp/juce_AudioDataConverters.h" - static const int maxNumChans = 64; @@ -1028,20 +1003,13 @@ AudioIODeviceType* juce_createDefaultAudioIODeviceType() return new ALSAAudioIODeviceType(); } - -END_JUCE_NAMESPACE - - //============================================================================== #else // if ALSA is turned off.. -#include "../../../src/juce_core/basics/juce_StandardHeader.h" - -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_appframework/audio/devices/juce_AudioIODeviceType.h" -AudioIODeviceType* juce_createDefaultAudioIODeviceType() { return 0; } - -END_JUCE_NAMESPACE +AudioIODeviceType* juce_createDefaultAudioIODeviceType() +{ + return 0; +} #endif +#endif diff --git a/build/linux/platform_specific_code/juce_linux_AudioCDReader.cpp b/build/linux/platform_specific_code/juce_linux_AudioCDReader.cpp index c09eb54148..e023ace41a 100644 --- a/build/linux/platform_specific_code/juce_linux_AudioCDReader.cpp +++ b/build/linux/platform_specific_code/juce_linux_AudioCDReader.cpp @@ -29,11 +29,9 @@ ============================================================================== */ -#include "../../../src/juce_core/basics/juce_StandardHeader.h" - -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_appframework/audio/audio_file_formats/juce_AudioCDReader.h" +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE //============================================================================== @@ -106,4 +104,4 @@ int AudioCDReader::getCDDBId() return 0; } -END_JUCE_NAMESPACE +#endif diff --git a/build/linux/platform_specific_code/juce_linux_FileChooser.cpp b/build/linux/platform_specific_code/juce_linux_FileChooser.cpp index c16c85863f..eca39220c1 100644 --- a/build/linux/platform_specific_code/juce_linux_FileChooser.cpp +++ b/build/linux/platform_specific_code/juce_linux_FileChooser.cpp @@ -29,14 +29,9 @@ ============================================================================== */ -#include "../../../juce_Config.h" -#include "linuxincludes.h" -#include "../../../src/juce_core/basics/juce_StandardHeader.h" - -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_appframework/gui/components/filebrowser/juce_FileChooser.h" - +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE //============================================================================== void FileChooser::showPlatformDialog (OwnedArray& results, @@ -53,4 +48,4 @@ void FileChooser::showPlatformDialog (OwnedArray& results, jassertfalse } -END_JUCE_NAMESPACE +#endif diff --git a/build/linux/platform_specific_code/juce_linux_Files.cpp b/build/linux/platform_specific_code/juce_linux_Files.cpp index 95c592fc02..70c9be3c1c 100644 --- a/build/linux/platform_specific_code/juce_linux_Files.cpp +++ b/build/linux/platform_specific_code/juce_linux_Files.cpp @@ -29,20 +29,9 @@ ============================================================================== */ -#include "linuxincludes.h" -#include "../../../src/juce_core/basics/juce_StandardHeader.h" - -#include -#include -#include -#include // for statfs -#include -#include -#include -#include -#include -#include -#include +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE #define U_ISOFS_SUPER_MAGIC (short) 0x9660 // linux/iso_fs.h #define U_MSDOS_SUPER_MAGIC (short) 0x4d44 // linux/msdos_fs.h @@ -50,26 +39,6 @@ #define U_SMB_SUPER_MAGIC (short) 0x517B // linux/smb_fs.h -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_core/io/files/juce_FileInputStream.h" -#include "../../../src/juce_core/io/files/juce_FileOutputStream.h" -#include "../../../src/juce_core/basics/juce_SystemStats.h" -#include "../../../src/juce_core/basics/juce_Time.h" -#include "../../../src/juce_core/basics/juce_Random.h" -#include "../../../src/juce_core/io/network/juce_URL.h" -#include "../../../src/juce_core/io/files/juce_NamedPipe.h" -#include "../../../src/juce_core/threads/juce_InterProcessLock.h" -#include "../../../src/juce_core/threads/juce_Thread.h" - -//============================================================================== -/* - Note that a lot of methods that you'd expect to find in this file actually - live in juce_posix_SharedCode.h! -*/ -#include "../../macosx/platform_specific_code/juce_posix_SharedCode.h" - - //============================================================================== void juce_getFileTimes (const String& fileName, int64& modificationTime, @@ -479,5 +448,4 @@ bool juce_launchFile (const String& fileName, return cpid >= 0; } - -END_JUCE_NAMESPACE +#endif diff --git a/build/linux/platform_specific_code/juce_linux_Fonts.cpp b/build/linux/platform_specific_code/juce_linux_Fonts.cpp index 6a4303ed17..2e4c58e32a 100644 --- a/build/linux/platform_specific_code/juce_linux_Fonts.cpp +++ b/build/linux/platform_specific_code/juce_linux_Fonts.cpp @@ -29,26 +29,9 @@ ============================================================================== */ -#include "../../../juce_Config.h" -#include "linuxincludes.h" - -/* Got a build error here? You'll need to install the freetype library... - - The name of the package to install is "libfreetype6-dev". -*/ -#include -#include FT_FREETYPE_H - -#include "../../../src/juce_core/basics/juce_StandardHeader.h" - -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_appframework/gui/graphics/fonts/juce_Font.h" -#include "../../../src/juce_core/basics/juce_Singleton.h" -#include "../../../src/juce_core/io/streams/juce_MemoryInputStream.h" -#include "../../../src/juce_core/io/files/juce_DirectoryIterator.h" -#include "../../../src/juce_core/text/juce_XmlDocument.h" -#include "../../../src/juce_appframework/application/juce_DeletedAtShutdown.h" +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE //============================================================================== @@ -637,4 +620,4 @@ void Typeface::getDefaultFontNames (String& defaultSans, String& defaultSerif, S defaultFixed = linux_getDefaultMonospacedFontName(); } -END_JUCE_NAMESPACE +#endif diff --git a/build/linux/platform_specific_code/juce_linux_Messaging.cpp b/build/linux/platform_specific_code/juce_linux_Messaging.cpp index 1097b959fc..cbf38c360a 100644 --- a/build/linux/platform_specific_code/juce_linux_Messaging.cpp +++ b/build/linux/platform_specific_code/juce_linux_Messaging.cpp @@ -29,24 +29,11 @@ ============================================================================== */ -#include "../../../juce_Config.h" - -#include "linuxincludes.h" -#include -#include -#include -#include -#include -#include -#include "../../../src/juce_core/basics/juce_StandardHeader.h" - -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_appframework/events/juce_MessageManager.h" -#include "../../../src/juce_core/threads/juce_WaitableEvent.h" -#include "../../../src/juce_core/threads/juce_Process.h" -#include "../../../src/juce_core/threads/juce_ScopedLock.h" +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE +//============================================================================== #ifdef JUCE_DEBUG #define JUCE_DEBUG_XERRORS 1 #endif @@ -417,4 +404,4 @@ bool juce_dispatchNextMessageOnSystemQueue (bool returnIfNoPendingMessages) return true; } -END_JUCE_NAMESPACE +#endif diff --git a/build/linux/platform_specific_code/juce_linux_Midi.cpp b/build/linux/platform_specific_code/juce_linux_Midi.cpp index 390c182607..8c341fb19d 100644 --- a/build/linux/platform_specific_code/juce_linux_Midi.cpp +++ b/build/linux/platform_specific_code/juce_linux_Midi.cpp @@ -29,21 +29,12 @@ ============================================================================== */ -#include "../../../juce_Config.h" +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE #if JUCE_ALSA -#include "../../../src/juce_core/basics/juce_StandardHeader.h" -#include - -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_appframework/audio/devices/juce_MidiOutput.h" -#include "../../../src/juce_appframework/audio/devices/juce_MidiInput.h" -#include "../../../src/juce_core/threads/juce_Thread.h" -#include "../../../src/juce_core/basics/juce_Time.h" - - //============================================================================== static snd_seq_t* iterateDevices (const bool forInput, StringArray& deviceNamesFound, @@ -442,23 +433,11 @@ MidiInput* MidiInput::createNewDevice (const String& deviceName, MidiInputCallba -END_JUCE_NAMESPACE - //============================================================================== - #else -//============================================================================== // (These are just stub functions if ALSA is unavailable...) -#include "../../../src/juce_core/basics/juce_StandardHeader.h" - -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_appframework/audio/devices/juce_MidiOutput.h" -#include "../../../src/juce_appframework/audio/devices/juce_MidiInput.h" - -//============================================================================== const StringArray MidiOutput::getDevices() { return StringArray(); } int MidiOutput::getDefaultDeviceIndex() { return 0; } MidiOutput* MidiOutput::openDevice (int) { return 0; } @@ -469,11 +448,7 @@ bool MidiOutput::getVolume (float&, float&) { return false; } void MidiOutput::setVolume (float, float) {} void MidiOutput::sendMessageNow (const MidiMessage&) {} -MidiInput::MidiInput (const String& name_) - : name (name_), - internal (0) -{} - +MidiInput::MidiInput (const String& name_) : name (name_), internal (0) {} MidiInput::~MidiInput() {} void MidiInput::start() {} void MidiInput::stop() {} @@ -482,6 +457,5 @@ const StringArray MidiInput::getDevices() { return StringArray(); } MidiInput* MidiInput::openDevice (int, MidiInputCallback*) { return 0; } MidiInput* MidiInput::createNewDevice (const String&, MidiInputCallback*) { return 0; } -END_JUCE_NAMESPACE - +#endif #endif diff --git a/build/linux/platform_specific_code/juce_linux_NativeCode.cpp b/build/linux/platform_specific_code/juce_linux_NativeCode.cpp new file mode 100644 index 0000000000..6c06b6b8de --- /dev/null +++ b/build/linux/platform_specific_code/juce_linux_NativeCode.cpp @@ -0,0 +1,120 @@ +/* + ============================================================================== + + This file is part of the JUCE library - "Jules' Utility Class Extensions" + Copyright 2004-7 by Raw Material Software ltd. + + ------------------------------------------------------------------------------ + + JUCE can be redistributed and/or modified under the terms of the + GNU General Public License, as published by the Free Software Foundation; + either version 2 of the License, or (at your option) any later version. + + 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. + + You should have received a copy of the GNU General Public License + along with JUCE; if not, visit www.gnu.org/licenses or write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + ------------------------------------------------------------------------------ + + If you'd like to release a closed-source product which uses JUCE, commercial + licenses are also available: visit www.rawmaterialsoftware.com/juce for + more information. + + ============================================================================== +*/ + +/* + This file wraps together all the mac-specific code, so that + we can include all the native headers just once, and compile all our + platform-specific stuff in one big lump, keeping it out of the way of + the rest of the codebase. +*/ + +#include "juce_linux_NativeIncludes.h" + + +BEGIN_JUCE_NAMESPACE + +#include "../../../src/juce_core/io/files/juce_FileInputStream.h" +#include "../../../src/juce_core/io/files/juce_FileOutputStream.h" +#include "../../../src/juce_core/basics/juce_SystemStats.h" +#include "../../../src/juce_core/basics/juce_Time.h" +#include "../../../src/juce_core/basics/juce_Random.h" +#include "../../../src/juce_core/io/network/juce_URL.h" +#include "../../../src/juce_core/io/files/juce_NamedPipe.h" +#include "../../../src/juce_core/threads/juce_InterProcessLock.h" +#include "../../../src/juce_appframework/audio/devices/juce_AudioIODeviceType.h" +#include "../../../src/juce_core/threads/juce_Thread.h" +#include "../../../src/juce_core/threads/juce_ScopedLock.h" +#include "../../../src/juce_core/io/files/juce_File.h" +#include "../../../src/juce_core/basics/juce_Singleton.h" +#include "../../../src/juce_appframework/audio/dsp/juce_AudioDataConverters.h" +#include "../../../src/juce_appframework/audio/audio_file_formats/juce_AudioCDReader.h" +#include "../../../src/juce_appframework/gui/graphics/fonts/juce_Font.h" +#include "../../../src/juce_core/io/streams/juce_MemoryInputStream.h" +#include "../../../src/juce_core/io/files/juce_DirectoryIterator.h" +#include "../../../src/juce_core/text/juce_XmlDocument.h" +#include "../../../src/juce_appframework/application/juce_DeletedAtShutdown.h" +#include "../../../src/juce_appframework/events/juce_MessageManager.h" +#include "../../../src/juce_core/threads/juce_WaitableEvent.h" +#include "../../../src/juce_core/threads/juce_Process.h" +#include "../../../src/juce_appframework/gui/components/filebrowser/juce_FileChooser.h" +#include "../../../src/juce_appframework/audio/devices/juce_MidiOutput.h" +#include "../../../src/juce_appframework/audio/devices/juce_MidiInput.h" +#include "../../../src/juce_core/text/juce_StringArray.h" +#include "../../../src/juce_core/containers/juce_MemoryBlock.h" +#include "../../../src/juce_core/misc/juce_PlatformUtilities.h" +#include "../../../src/juce_core/threads/juce_CriticalSection.h" +#include "../../../src/juce_appframework/events/juce_Timer.h" +#include "../../../src/juce_appframework/gui/components/special/juce_WebBrowserComponent.h" +#include "../../../src/juce_appframework/gui/components/keyboard/juce_KeyPress.h" +#include "../../../src/juce_appframework/application/juce_SystemClipboard.h" +#include "../../../src/juce_appframework/gui/components/windows/juce_AlertWindow.h" +#include "../../../src/juce_appframework/gui/components/special/juce_OpenGLComponent.h" +#include "../../../src/juce_appframework/gui/components/juce_Desktop.h" +#include "../../../src/juce_appframework/gui/components/juce_ComponentDeletionWatcher.h" +#include "../../../src/juce_appframework/gui/graphics/geometry/juce_RectangleList.h" +#include "../../../src/juce_appframework/gui/graphics/imaging/juce_ImageFileFormat.h" +#include "../../../src/juce_appframework/gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" +#include "../../../src/juce_appframework/gui/components/mouse/juce_DragAndDropContainer.h" +#include "../../../src/juce_appframework/gui/components/special/juce_SystemTrayIconComponent.h" +#include "../../../src/juce_appframework/application/juce_Application.h" + +/* Remove this macro if you're having problems compiling the cpu affinity + calls (the API for these has changed about quite a bit in various Linux + versions, and a lot of distros seem to ship with obsolete versions) +*/ +#if defined (CPU_ISSET) && ! defined (SUPPORT_AFFINITIES) + #define SUPPORT_AFFINITIES 1 +#endif + +//============================================================================== +#define JUCE_INCLUDED_FILE 1 + +// Now include the actual code files.. + +#include "../../macosx/platform_specific_code/juce_posix_SharedCode.h" +#include "juce_linux_Files.cpp" +#include "../../macosx/platform_specific_code/juce_mac_NamedPipe.cpp" +#include "juce_linux_Network.cpp" +#include "juce_linux_SystemStats.cpp" +#include "juce_linux_Threads.cpp" + +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY + #include "juce_linux_Messaging.cpp" + #include "juce_linux_Fonts.cpp" + #include "juce_linux_Windowing.cpp" + #include "juce_linux_Audio.cpp" + #include "juce_linux_Midi.cpp" + #include "juce_linux_AudioCDReader.cpp" + #include "juce_linux_FileChooser.cpp" + #include "juce_linux_WebBrowserComponent.cpp" +#endif + +END_JUCE_NAMESPACE diff --git a/build/linux/platform_specific_code/juce_linux_NativeIncludes.h b/build/linux/platform_specific_code/juce_linux_NativeIncludes.h new file mode 100644 index 0000000000..4e7e19f821 --- /dev/null +++ b/build/linux/platform_specific_code/juce_linux_NativeIncludes.h @@ -0,0 +1,122 @@ +/* + ============================================================================== + + This file is part of the JUCE library - "Jules' Utility Class Extensions" + Copyright 2004-7 by Raw Material Software ltd. + + ------------------------------------------------------------------------------ + + JUCE can be redistributed and/or modified under the terms of the + GNU General Public License, as published by the Free Software Foundation; + either version 2 of the License, or (at your option) any later version. + + 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. + + You should have received a copy of the GNU General Public License + along with JUCE; if not, visit www.gnu.org/licenses or write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + ------------------------------------------------------------------------------ + + If you'd like to release a closed-source product which uses JUCE, commercial + licenses are also available: visit www.rawmaterialsoftware.com/juce for + more information. + + ============================================================================== +*/ + +#ifndef __JUCE_LINUX_NATIVEINCLUDES_JUCEHEADER__ +#define __JUCE_LINUX_NATIVEINCLUDES_JUCEHEADER__ + +/* + This file wraps together all the linux-specific headers, so + that we can include them all just once, and compile all our + platform-specific stuff in one big lump, keeping it out of the + way of the rest of the codebase. +*/ + +#include "../../../src/juce_core/basics/juce_StandardHeader.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* Got a build error here? You'll need to install the freetype library... + The name of the package to install is "libfreetype6-dev". +*/ +#include +#include FT_FREETYPE_H + +#include +#include +#include +#include +#include +#include +#include + +#if JUCE_USE_XINERAMA + /* If you're trying to use Xinerama, you'll need to install the "libxinerama-dev" package.. */ + #include +#endif + +#if JUCE_USE_XSHM + #include + #include + #include +#endif + +#if JUCE_OPENGL + /* Got an include error here? + + If you want to install OpenGL support, the packages to get are "mesa-common-dev" + and "freeglut3-dev". + + Alternatively, you can turn off the JUCE_OPENGL flag in juce_Config.h if you + want to disable it. + */ + #include +#endif + +#undef KeyPress + +#if JUCE_ALSA + /* Got an include error here? If so, you've either not got ALSA installed, or you've + not got your paths set up correctly to find its header files. + + The package you need to install to get ASLA support is "libasound2-dev". + + If you don't have the ALSA library and don't want to build Juce with audio support, + just disable the JUCE_ALSA flag in juce_Config.h + */ + #include +#endif + +#undef SIZEOF + +#endif // __JUCE_LINUX_NATIVEINCLUDES_JUCEHEADER__ diff --git a/build/linux/platform_specific_code/juce_linux_Network.cpp b/build/linux/platform_specific_code/juce_linux_Network.cpp index ebfbc21d54..542e12cc83 100644 --- a/build/linux/platform_specific_code/juce_linux_Network.cpp +++ b/build/linux/platform_specific_code/juce_linux_Network.cpp @@ -29,25 +29,9 @@ ============================================================================== */ -#include "linuxincludes.h" -#include -#include -#include -#include -#include -#include -#include -#include - -#include "../../../src/juce_core/basics/juce_StandardHeader.h" - -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_core/text/juce_StringArray.h" -#include "../../../src/juce_core/basics/juce_SystemStats.h" -#include "../../../src/juce_core/containers/juce_MemoryBlock.h" -#include "../../../src/juce_core/misc/juce_PlatformUtilities.h" -#include "../../../src/juce_core/io/network/juce_URL.h" +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE //============================================================================== @@ -500,4 +484,4 @@ int juce_seekInInternetFile (void* handle, int newPosition) return 0; } -END_JUCE_NAMESPACE +#endif diff --git a/build/linux/platform_specific_code/juce_linux_SystemStats.cpp b/build/linux/platform_specific_code/juce_linux_SystemStats.cpp index a6e822a718..df279f982a 100644 --- a/build/linux/platform_specific_code/juce_linux_SystemStats.cpp +++ b/build/linux/platform_specific_code/juce_linux_SystemStats.cpp @@ -29,23 +29,9 @@ ============================================================================== */ -#include "linuxincludes.h" -#include "../../../src/juce_core/basics/juce_StandardHeader.h" -#include -#include - - -#ifndef CPU_ISSET - #undef SUPPORT_AFFINITIES -#endif - -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_core/io/files/juce_File.h" -#include "../../../src/juce_core/basics/juce_SystemStats.h" -#include "../../../src/juce_core/threads/juce_Process.h" -#include "../../../src/juce_appframework/events/juce_Timer.h" -#include "../../../src/juce_core/misc/juce_PlatformUtilities.h" +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE //============================================================================== @@ -274,4 +260,4 @@ void PlatformUtilities::fpuReset() { } -END_JUCE_NAMESPACE +#endif diff --git a/build/linux/platform_specific_code/juce_linux_Threads.cpp b/build/linux/platform_specific_code/juce_linux_Threads.cpp index 0ab088d6d1..c0954893a9 100644 --- a/build/linux/platform_specific_code/juce_linux_Threads.cpp +++ b/build/linux/platform_specific_code/juce_linux_Threads.cpp @@ -29,33 +29,15 @@ ============================================================================== */ -#include "linuxincludes.h" -#include -#include -#include -#include -#include "../../../src/juce_core/basics/juce_StandardHeader.h" +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_core/threads/juce_CriticalSection.h" -#include "../../../src/juce_core/threads/juce_WaitableEvent.h" -#include "../../../src/juce_core/threads/juce_Thread.h" -#include "../../../src/juce_core/threads/juce_Process.h" -#include "../../../src/juce_core/io/files/juce_File.h" -#include "../../../src/juce_core/basics/juce_SystemStats.h" -#include "../../../src/juce_core/misc/juce_PlatformUtilities.h" - -//============================================================================== /* Note that a lot of methods that you'd expect to find in this file actually live in juce_posix_SharedCode.h! */ -#ifndef CPU_ISSET - #undef SUPPORT_AFFINITIES -#endif - //============================================================================== void JUCE_API juce_threadEntryPoint (void*); @@ -276,4 +258,4 @@ void* PlatformUtilities::getProcedureEntryPoint (void* libraryHandle, const Stri #endif -END_JUCE_NAMESPACE +#endif diff --git a/build/linux/platform_specific_code/juce_linux_WebBrowserComponent.cpp b/build/linux/platform_specific_code/juce_linux_WebBrowserComponent.cpp index 906f0b9cc8..933cb96777 100644 --- a/build/linux/platform_specific_code/juce_linux_WebBrowserComponent.cpp +++ b/build/linux/platform_specific_code/juce_linux_WebBrowserComponent.cpp @@ -29,11 +29,9 @@ ============================================================================== */ -#include "../../../src/juce_core/basics/juce_StandardHeader.h" - -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_appframework/gui/components/special/juce_WebBrowserComponent.h" +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE #if JUCE_WEB_BROWSER @@ -133,4 +131,4 @@ bool WebBrowserComponent::pageAboutToLoad (const String& url) } #endif -END_JUCE_NAMESPACE +#endif diff --git a/build/linux/platform_specific_code/juce_linux_Windowing.cpp b/build/linux/platform_specific_code/juce_linux_Windowing.cpp index 8bb4c36f89..5d293823d0 100644 --- a/build/linux/platform_specific_code/juce_linux_Windowing.cpp +++ b/build/linux/platform_specific_code/juce_linux_Windowing.cpp @@ -29,65 +29,9 @@ ============================================================================== */ -#include "../../../juce_Config.h" -#include "linuxincludes.h" -#include -#include -#include -#include -#include -#include -#include - -#if JUCE_USE_XINERAMA - /* If you're trying to use Xinerama, you'll need to install the "libxinerama-dev" package.. - */ - #include -#endif - -#if JUCE_USE_XSHM - #include - #include - #include -#endif - -#if JUCE_OPENGL - /* Got an include error here? - - If you want to install OpenGL support, the packages to get are "mesa-common-dev" - and "freeglut3-dev". - - Alternatively, you can turn off the JUCE_OPENGL flag in juce_Config.h if you - want to disable it. - */ - #include -#endif - - -#undef KeyPress - -#include "../../../src/juce_core/basics/juce_StandardHeader.h" - -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_appframework/events/juce_Timer.h" -#include "../../../src/juce_appframework/application/juce_DeletedAtShutdown.h" -#include "../../../src/juce_appframework/gui/components/keyboard/juce_KeyPress.h" -#include "../../../src/juce_appframework/application/juce_SystemClipboard.h" -#include "../../../src/juce_appframework/gui/components/windows/juce_AlertWindow.h" -#include "../../../src/juce_appframework/gui/components/special/juce_OpenGLComponent.h" -#include "../../../src/juce_appframework/gui/components/juce_Desktop.h" -#include "../../../src/juce_appframework/events/juce_MessageManager.h" -#include "../../../src/juce_appframework/gui/components/juce_ComponentDeletionWatcher.h" -#include "../../../src/juce_appframework/gui/graphics/geometry/juce_RectangleList.h" -#include "../../../src/juce_appframework/gui/graphics/imaging/juce_ImageFileFormat.h" -#include "../../../src/juce_appframework/gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h" -#include "../../../src/juce_appframework/gui/components/mouse/juce_DragAndDropContainer.h" -#include "../../../src/juce_appframework/gui/components/special/juce_SystemTrayIconComponent.h" -#include "../../../src/juce_appframework/application/juce_Application.h" -#include "../../../src/juce_core/threads/juce_Process.h" -#include "../../../src/juce_core/io/network/juce_URL.h" -#include "../../../src/juce_core/misc/juce_PlatformUtilities.h" +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE //============================================================================== #define TAKE_FOCUS 0 @@ -3369,4 +3313,4 @@ const int KeyPress::fastForwardKey = (0xffeeff02) | extendedKeyModifier; const int KeyPress::rewindKey = (0xffeeff03) | extendedKeyModifier; -END_JUCE_NAMESPACE +#endif diff --git a/build/linux/platform_specific_code/linuxincludes.h b/build/linux/platform_specific_code/linuxincludes.h deleted file mode 100644 index 580c709ed5..0000000000 --- a/build/linux/platform_specific_code/linuxincludes.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - ============================================================================== - - This file is part of the JUCE library - "Jules' Utility Class Extensions" - Copyright 2004-7 by Raw Material Software ltd. - - ------------------------------------------------------------------------------ - - JUCE can be redistributed and/or modified under the terms of the - GNU General Public License, as published by the Free Software Foundation; - either version 2 of the License, or (at your option) any later version. - - 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. - - You should have received a copy of the GNU General Public License - along with JUCE; if not, visit www.gnu.org/licenses or write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - ------------------------------------------------------------------------------ - - If you'd like to release a closed-source product which uses JUCE, commercial - licenses are also available: visit www.rawmaterialsoftware.com/juce for - more information. - - ============================================================================== -*/ - -#ifndef __LINUXINCLUDES_JUCEHEADER__ -#define __LINUXINCLUDES_JUCEHEADER__ - -// Linux Header Files: -#include -#include -#include -#include -#include -#include - -#include "../../../juce_Config.h" - -/* Remove this macro if you're having problems compiling the cpu affinity - calls (the API for these has changed about quite a bit in various Linux - versions, and a lot of distros seem to ship with obsolete versions) -*/ -#ifndef SUPPORT_AFFINITIES - #define SUPPORT_AFFINITIES 1 -#endif - - -#endif // __LINUXINCLUDES_JUCEHEADER__ diff --git a/build/macosx/platform_specific_code/juce_mac_NamedPipe.cpp b/build/macosx/platform_specific_code/juce_mac_NamedPipe.cpp index 5ec6ecc22d..e1c52543f9 100644 --- a/build/macosx/platform_specific_code/juce_mac_NamedPipe.cpp +++ b/build/macosx/platform_specific_code/juce_mac_NamedPipe.cpp @@ -29,26 +29,9 @@ ============================================================================== */ -#include "../../../src/juce_core/basics/juce_StandardHeader.h" - -#include -#include -#include - -// As well as being for the mac, this file is included by the linux build. - -#if ! JUCE_MAC - #include - #include - #include -#endif - -BEGIN_JUCE_NAMESPACE - -#include "../../../src/juce_core/io/files/juce_File.h" -#include "../../../src/juce_core/io/files/juce_NamedPipe.h" -#include "../../../src/juce_core/threads/juce_Thread.h" - +// (This file gets included by juce_mac_NativeCode.mm, rather than being +// compiled on its own). +#if JUCE_INCLUDED_FILE //============================================================================== struct NamedPipeInternal @@ -233,5 +216,4 @@ int NamedPipe::write (const void* sourceBuffer, int numBytesToWrite, int timeOut return bytesWritten; } - -END_JUCE_NAMESPACE +#endif diff --git a/build/macosx/platform_specific_code/juce_mac_NativeCode.mm b/build/macosx/platform_specific_code/juce_mac_NativeCode.mm index dcdc509f4c..899ce56283 100644 --- a/build/macosx/platform_specific_code/juce_mac_NativeCode.mm +++ b/build/macosx/platform_specific_code/juce_mac_NativeCode.mm @@ -38,7 +38,6 @@ #include "juce_mac_NativeIncludes.h" - BEGIN_JUCE_NAMESPACE //============================================================================== @@ -49,6 +48,7 @@ BEGIN_JUCE_NAMESPACE #include "../../../src/juce_core/threads/juce_Thread.h" #include "../../../src/juce_core/threads/juce_InterProcessLock.h" #include "../../../src/juce_core/io/files/juce_FileInputStream.h" +#include "../../../src/juce_core/io/files/juce_NamedPipe.h" #include "../../../src/juce_core/io/network/juce_URL.h" #include "../../../src/juce_core/misc/juce_PlatformUtilities.h" #include "../../../src/juce_core/text/juce_LocalisedStrings.h" @@ -109,6 +109,7 @@ BEGIN_JUCE_NAMESPACE #include "juce_mac_Strings.mm" #include "juce_mac_SystemStats.mm" #include "juce_mac_Network.mm" +#include "juce_mac_NamedPipe.cpp" #include "juce_mac_Threads.mm" #include "juce_posix_SharedCode.h" #include "juce_mac_Files.mm" diff --git a/build/macosx/platform_specific_code/juce_posix_SharedCode.h b/build/macosx/platform_specific_code/juce_posix_SharedCode.h index 5f7c91be3f..b1ed87e323 100644 --- a/build/macosx/platform_specific_code/juce_posix_SharedCode.h +++ b/build/macosx/platform_specific_code/juce_posix_SharedCode.h @@ -407,7 +407,8 @@ const String juce_getVolumeLabel (const String& filenameOnVolume, //============================================================================== void juce_runSystemCommand (const String& command) { - system ((const char*) command.toUTF8()); + int result = system ((const char*) command.toUTF8()); + (void) result; } const String juce_getOutputFromCommand (const String& command) diff --git a/extras/amalgamator/juce_AmalgamatorMain.cpp b/extras/amalgamator/juce_AmalgamatorMain.cpp index 45b48dc4d3..6bc8898534 100644 --- a/extras/amalgamator/juce_AmalgamatorMain.cpp +++ b/extras/amalgamator/juce_AmalgamatorMain.cpp @@ -131,7 +131,8 @@ static bool parseFile (const File& rootFolder, if (matchesWildcard (filename.replaceCharacter (T('\\'), T('/')), wildcards) && ! includesToIgnore.contains (targetFile.getFileName())) { - if (! alreadyIncludedFiles.contains (targetFile.getFullPathName())) + if (line.containsIgnoreCase (T("FORCE_AMALGAMATOR_INCLUDE")) + || ! alreadyIncludedFiles.contains (targetFile.getFullPathName())) { if (! canFileBeReincluded (targetFile)) alreadyIncludedFiles.add (targetFile.getFullPathName()); diff --git a/extras/amalgamator/juce_AppConfig.h b/extras/amalgamator/juce_AppConfig.h index 8095704736..5ae80b760f 100644 --- a/extras/amalgamator/juce_AppConfig.h +++ b/extras/amalgamator/juce_AppConfig.h @@ -1,10 +1,16 @@ - /* This file contains settings that you might want to explicitly apply to - the your build. + your Juce build. - Most of these are turned on or off by default, but you can override - that setting here by un-commenting it and giving it a 1 or 0 value. + These flags enable or disable juce features - if you're linking to juce as + a library, then to change them, you'd need to alter your juce_Config.h file and + recompile the juce lib. But because we're using the amalgamated file, you can + just include this file before including your juce_amalgamated.cpp file to + have the same effect. + + If you leave any of these commented-out, they'll take on the default value + assigned to them in juce_Config.h, so to force them on or off, just set them + to an explicit 0 or 1 in here. */ #define JUCE_ONLY_BUILD_CORE_LIBRARY 1 diff --git a/extras/audio plugin host/src/juce_AppConfig.h b/extras/audio plugin host/src/juce_AppConfig.h index 721978f1ab..8fe33a01bc 100644 --- a/extras/audio plugin host/src/juce_AppConfig.h +++ b/extras/audio plugin host/src/juce_AppConfig.h @@ -31,10 +31,17 @@ /* This file contains settings that you might want to explicitly apply to - the your build. + your Juce build. - Most of these are turned on or off by default, but you can override - that setting here by un-commenting it and giving it a 1 or 0 value. + These flags enable or disable juce features - if you're linking to juce as + a library, then to change them, you'd need to alter your juce_Config.h file and + recompile the juce lib. But because we're using the amalgamated file, you can + just include this file before including your juce_amalgamated.cpp file to + have the same effect. + + If you leave any of these commented-out, they'll take on the default value + assigned to them in juce_Config.h, so to force them on or off, just set them + to an explicit 0 or 1 in here. */ #define JUCE_PLUGINHOST_VST 1 diff --git a/extras/audio plugins/demo/src/juce_AppConfig.h b/extras/audio plugins/demo/src/juce_AppConfig.h index 62f1fdc5a7..e121abacff 100644 --- a/extras/audio plugins/demo/src/juce_AppConfig.h +++ b/extras/audio plugins/demo/src/juce_AppConfig.h @@ -31,10 +31,17 @@ /* This file contains settings that you might want to explicitly apply to - the your build. + your Juce build. - Most of these are turned on or off by default, but you can override - that setting here by un-commenting it and giving it a 1 or 0 value. + These flags enable or disable juce features - if you're linking to juce as + a library, then to change them, you'd need to alter your juce_Config.h file and + recompile the juce lib. But because we're using the amalgamated file, you can + just include this file before including your juce_amalgamated.cpp file to + have the same effect. + + If you leave any of these commented-out, they'll take on the default value + assigned to them in juce_Config.h, so to force them on or off, just set them + to an explicit 0 or 1 in here. */ #define JUCE_QUICKTIME 0 diff --git a/extras/binarybuilder/juce_AppConfig.h b/extras/binarybuilder/juce_AppConfig.h index 8095704736..5ae80b760f 100644 --- a/extras/binarybuilder/juce_AppConfig.h +++ b/extras/binarybuilder/juce_AppConfig.h @@ -1,10 +1,16 @@ - /* This file contains settings that you might want to explicitly apply to - the your build. + your Juce build. - Most of these are turned on or off by default, but you can override - that setting here by un-commenting it and giving it a 1 or 0 value. + These flags enable or disable juce features - if you're linking to juce as + a library, then to change them, you'd need to alter your juce_Config.h file and + recompile the juce lib. But because we're using the amalgamated file, you can + just include this file before including your juce_amalgamated.cpp file to + have the same effect. + + If you leave any of these commented-out, they'll take on the default value + assigned to them in juce_Config.h, so to force them on or off, just set them + to an explicit 0 or 1 in here. */ #define JUCE_ONLY_BUILD_CORE_LIBRARY 1 diff --git a/extras/example projects/common/juce_AppConfig.h b/extras/example projects/common/juce_AppConfig.h index 0a7095627b..1d8761f6d1 100644 --- a/extras/example projects/common/juce_AppConfig.h +++ b/extras/example projects/common/juce_AppConfig.h @@ -1,10 +1,16 @@ - /* This file contains settings that you might want to explicitly apply to - the your build. + your Juce build. - Most of these are turned on or off by default, but you can override - that setting here by un-commenting it and giving it a 1 or 0 value. + These flags enable or disable juce features - if you're linking to juce as + a library, then to change them, you'd need to alter your juce_Config.h file and + recompile the juce lib. But because we're using the amalgamated file, you can + just include this file before including your juce_amalgamated.cpp file to + have the same effect. + + If you leave any of these commented-out, they'll take on the default value + assigned to them in juce_Config.h, so to force them on or off, just set them + to an explicit 0 or 1 in here. */ //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 diff --git a/extras/juce demo/build/linux/JuceDemo.make b/extras/juce demo/build/linux/JuceDemo.make index 538e0662a9..61f547e33d 100644 --- a/extras/juce demo/build/linux/JuceDemo.make +++ b/extras/juce demo/build/linux/JuceDemo.make @@ -43,7 +43,6 @@ OBJECTS := \ $(OBJDIR)/BinaryData.o \ $(OBJDIR)/juce_LibrarySource.o \ $(OBJDIR)/MainDemoWindow.o \ - $(OBJDIR)/WebBrowserDemo.o \ $(OBJDIR)/WidgetsDemo.o \ $(OBJDIR)/ThreadingDemo.o \ $(OBJDIR)/TreeViewDemo.o \ @@ -56,6 +55,7 @@ OBJECTS := \ $(OBJDIR)/DragAndDropDemo.o \ $(OBJDIR)/CameraDemo.o \ $(OBJDIR)/AudioDemo.o \ + $(OBJDIR)/WebBrowserDemo.o \ MKDIR_TYPE := msdos CMD := $(subst \,\\,$(ComSpec)$(COMSPEC)) @@ -117,11 +117,6 @@ $(OBJDIR)/MainDemoWindow.o: ../../src/MainDemoWindow.cpp @echo $(notdir $<) @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/WebBrowserDemo.o: ../../src/demos/WebBrowserDemo.cpp - -@$(CMD_MKOBJDIR) - @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" - $(OBJDIR)/WidgetsDemo.o: ../../src/demos/WidgetsDemo.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) @@ -182,5 +177,10 @@ $(OBJDIR)/AudioDemo.o: ../../src/demos/AudioDemo.cpp @echo $(notdir $<) @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" +$(OBJDIR)/WebBrowserDemo.o: ../../src/demos/WebBrowserDemo.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + -include $(OBJECTS:%.o=%.d) diff --git a/extras/juce demo/build/win32_vc8/jucedemo.sln b/extras/juce demo/build/win32_vc8/jucedemo.sln index a08814acc5..bfcffff690 100644 --- a/extras/juce demo/build/win32_vc8/jucedemo.sln +++ b/extras/juce demo/build/win32_vc8/jucedemo.sln @@ -1,6 +1,6 @@  -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual C++ Express 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jucedemo", "jucedemo.vcproj", "{050D65C2-17C4-4EE1-ABCE-BEA9DA83D77A}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JUCE", "..\..\..\..\build\win32\vc8\JUCE.vcproj", "{AE232C11-D91C-4CA1-B24E-8B11A52EFF26}" diff --git a/extras/juce demo/src/BinaryData.cpp b/extras/juce demo/src/BinaryData.cpp index 757a55bff1..229d8c821e 100644 --- a/extras/juce demo/src/BinaryData.cpp +++ b/extras/juce demo/src/BinaryData.cpp @@ -1828,141 +1828,142 @@ static const unsigned char temp4[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61, 32,32,32,32,114,101,116,117,114,110,32,110,101,119,32,84,114,101,101,86,105,101,119,68,101,109,111,40,41,59,13,10,125,13,10,0,0}; const char* BinaryData::treeviewdemo_cpp = (const char*) temp4; -static const unsigned char temp5[] = {47,42,13,10,32,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, +static const unsigned char temp5[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, - 61,61,61,13,10,32,13,10,32,84,104,105,115,32,102,105,108,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,74,85,67,69,32,108, - 105,98,114,97,114,121,32,45,32,34,74,117,108,101,115,39,32,85,116,105,108,105,116,121,32,67,108,97,115,115,32,69,120,116,101,110,115,105,111,110, - 115,34,13,10,32,67,111,112,121,114,105,103,104,116,32,50,48,48,52,45,55,32,98,121,32,82,97,119,32,77,97,116,101,114,105,97,108,32,83,111, - 102,116,119,97,114,101,32,108,116,100,46,13,10,32,13,10,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45, + 61,61,61,61,13,10,13,10,32,32,32,84,104,105,115,32,102,105,108,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,74,85,67,69, + 32,108,105,98,114,97,114,121,32,45,32,34,74,117,108,101,115,39,32,85,116,105,108,105,116,121,32,67,108,97,115,115,32,69,120,116,101,110,115,105, + 111,110,115,34,13,10,32,32,32,67,111,112,121,114,105,103,104,116,32,50,48,48,52,45,55,32,98,121,32,82,97,119,32,77,97,116,101,114,105,97, + 108,32,83,111,102,116,119,97,114,101,32,108,116,100,46,13,10,13,10,32,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45, 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45, - 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,13,10,32,13,10,32,74,85,67,69,32,99,97,110,32,98,101,32,114,101,100,105,115,116,114, - 105,98,117,116,101,100,32,97,110,100,47,111,114,32,109,111,100,105,102,105,101,100,32,117,110,100,101,114,32,116,104,101,32,116,101,114,109,115,32,111, - 102,32,116,104,101,13,10,32,71,78,85,32,71,101,110,101,114,97,108,32,80,117,98,108,105,99,32,76,105,99,101,110,115,101,44,32,97,115,32,112, - 117,98,108,105,115,104,101,100,32,98,121,32,116,104,101,32,70,114,101,101,32,83,111,102,116,119,97,114,101,32,70,111,117,110,100,97,116,105,111,110, - 59,13,10,32,101,105,116,104,101,114,32,118,101,114,115,105,111,110,32,50,32,111,102,32,116,104,101,32,76,105,99,101,110,115,101,44,32,111,114,32, - 40,97,116,32,121,111,117,114,32,111,112,116,105,111,110,41,32,97,110,121,32,108,97,116,101,114,32,118,101,114,115,105,111,110,46,13,10,32,13,10, - 32,74,85,67,69,32,105,115,32,100,105,115,116,114,105,98,117,116,101,100,32,105,110,32,116,104,101,32,104,111,112,101,32,116,104,97,116,32,105,116, - 32,119,105,108,108,32,98,101,32,117,115,101,102,117,108,44,13,10,32,98,117,116,32,87,73,84,72,79,85,84,32,65,78,89,32,87,65,82,82,65, - 78,84,89,59,32,119,105,116,104,111,117,116,32,101,118,101,110,32,116,104,101,32,105,109,112,108,105,101,100,32,119,97,114,114,97,110,116,121,32,111, - 102,13,10,32,77,69,82,67,72,65,78,84,65,66,73,76,73,84,89,32,111,114,32,70,73,84,78,69,83,83,32,70,79,82,32,65,32,80,65,82, - 84,73,67,85,76,65,82,32,80,85,82,80,79,83,69,46,32,32,83,101,101,32,116,104,101,13,10,32,71,78,85,32,71,101,110,101,114,97,108,32, - 80,117,98,108,105,99,32,76,105,99,101,110,115,101,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,46,13,10,32,13,10,32,89,111, - 117,32,115,104,111,117,108,100,32,104,97,118,101,32,114,101,99,101,105,118,101,100,32,97,32,99,111,112,121,32,111,102,32,116,104,101,32,71,78,85, - 32,71,101,110,101,114,97,108,32,80,117,98,108,105,99,32,76,105,99,101,110,115,101,13,10,32,97,108,111,110,103,32,119,105,116,104,32,74,85,67, - 69,59,32,105,102,32,110,111,116,44,32,118,105,115,105,116,32,119,119,119,46,103,110,117,46,111,114,103,47,108,105,99,101,110,115,101,115,32,111,114, - 32,119,114,105,116,101,32,116,111,32,116,104,101,13,10,32,70,114,101,101,32,83,111,102,116,119,97,114,101,32,70,111,117,110,100,97,116,105,111,110, - 44,32,73,110,99,46,44,32,53,57,32,84,101,109,112,108,101,32,80,108,97,99,101,44,32,83,117,105,116,101,32,51,51,48,44,13,10,32,66,111, - 115,116,111,110,44,32,77,65,32,48,50,49,49,49,45,49,51,48,55,32,85,83,65,13,10,32,13,10,32,45,45,45,45,45,45,45,45,45,45,45, + 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,13,10,13,10,32,32,32,74,85,67,69,32,99,97,110,32,98,101,32,114,101, + 100,105,115,116,114,105,98,117,116,101,100,32,97,110,100,47,111,114,32,109,111,100,105,102,105,101,100,32,117,110,100,101,114,32,116,104,101,32,116,101, + 114,109,115,32,111,102,32,116,104,101,13,10,32,32,32,71,78,85,32,71,101,110,101,114,97,108,32,80,117,98,108,105,99,32,76,105,99,101,110,115, + 101,44,32,97,115,32,112,117,98,108,105,115,104,101,100,32,98,121,32,116,104,101,32,70,114,101,101,32,83,111,102,116,119,97,114,101,32,70,111,117, + 110,100,97,116,105,111,110,59,13,10,32,32,32,101,105,116,104,101,114,32,118,101,114,115,105,111,110,32,50,32,111,102,32,116,104,101,32,76,105,99, + 101,110,115,101,44,32,111,114,32,40,97,116,32,121,111,117,114,32,111,112,116,105,111,110,41,32,97,110,121,32,108,97,116,101,114,32,118,101,114,115, + 105,111,110,46,13,10,13,10,32,32,32,74,85,67,69,32,105,115,32,100,105,115,116,114,105,98,117,116,101,100,32,105,110,32,116,104,101,32,104,111, + 112,101,32,116,104,97,116,32,105,116,32,119,105,108,108,32,98,101,32,117,115,101,102,117,108,44,13,10,32,32,32,98,117,116,32,87,73,84,72,79, + 85,84,32,65,78,89,32,87,65,82,82,65,78,84,89,59,32,119,105,116,104,111,117,116,32,101,118,101,110,32,116,104,101,32,105,109,112,108,105,101, + 100,32,119,97,114,114,97,110,116,121,32,111,102,13,10,32,32,32,77,69,82,67,72,65,78,84,65,66,73,76,73,84,89,32,111,114,32,70,73,84, + 78,69,83,83,32,70,79,82,32,65,32,80,65,82,84,73,67,85,76,65,82,32,80,85,82,80,79,83,69,46,32,32,83,101,101,32,116,104,101,13, + 10,32,32,32,71,78,85,32,71,101,110,101,114,97,108,32,80,117,98,108,105,99,32,76,105,99,101,110,115,101,32,102,111,114,32,109,111,114,101,32, + 100,101,116,97,105,108,115,46,13,10,13,10,32,32,32,89,111,117,32,115,104,111,117,108,100,32,104,97,118,101,32,114,101,99,101,105,118,101,100,32, + 97,32,99,111,112,121,32,111,102,32,116,104,101,32,71,78,85,32,71,101,110,101,114,97,108,32,80,117,98,108,105,99,32,76,105,99,101,110,115,101, + 13,10,32,32,32,97,108,111,110,103,32,119,105,116,104,32,74,85,67,69,59,32,105,102,32,110,111,116,44,32,118,105,115,105,116,32,119,119,119,46, + 103,110,117,46,111,114,103,47,108,105,99,101,110,115,101,115,32,111,114,32,119,114,105,116,101,32,116,111,32,116,104,101,13,10,32,32,32,70,114,101, + 101,32,83,111,102,116,119,97,114,101,32,70,111,117,110,100,97,116,105,111,110,44,32,73,110,99,46,44,32,53,57,32,84,101,109,112,108,101,32,80, + 108,97,99,101,44,32,83,117,105,116,101,32,51,51,48,44,13,10,32,32,32,66,111,115,116,111,110,44,32,77,65,32,48,50,49,49,49,45,49,51, + 48,55,32,85,83,65,13,10,13,10,32,32,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45, 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45, - 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,13,10,32,13,10,32,73,102,32,121,111,117,39, - 100,32,108,105,107,101,32,116,111,32,114,101,108,101,97,115,101,32,97,32,99,108,111,115,101,100,45,115,111,117,114,99,101,32,112,114,111,100,117,99, - 116,32,119,104,105,99,104,32,117,115,101,115,32,74,85,67,69,44,32,99,111,109,109,101,114,99,105,97,108,13,10,32,108,105,99,101,110,115,101,115, - 32,97,114,101,32,97,108,115,111,32,97,118,97,105,108,97,98,108,101,58,32,118,105,115,105,116,32,119,119,119,46,114,97,119,109,97,116,101,114,105, - 97,108,115,111,102,116,119,97,114,101,46,99,111,109,47,106,117,99,101,32,102,111,114,13,10,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105, - 111,110,46,13,10,32,13,10,32,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, + 45,45,45,45,45,45,45,45,45,45,13,10,13,10,32,32,32,73,102,32,121,111,117,39,100,32,108,105,107,101,32,116,111,32,114,101,108,101,97,115, + 101,32,97,32,99,108,111,115,101,100,45,115,111,117,114,99,101,32,112,114,111,100,117,99,116,32,119,104,105,99,104,32,117,115,101,115,32,74,85,67, + 69,44,32,99,111,109,109,101,114,99,105,97,108,13,10,32,32,32,108,105,99,101,110,115,101,115,32,97,114,101,32,97,108,115,111,32,97,118,97,105, + 108,97,98,108,101,58,32,118,105,115,105,116,32,119,119,119,46,114,97,119,109,97,116,101,114,105,97,108,115,111,102,116,119,97,114,101,46,99,111,109, + 47,106,117,99,101,32,102,111,114,13,10,32,32,32,109,111,114,101,32,105,110,102,111,114,109,97,116,105,111,110,46,13,10,13,10,32,32,61,61,61, 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, - 61,61,61,61,61,61,61,13,10,32,42,47,13,10,13,10,35,105,110,99,108,117,100,101,32,34,46,46,47,106,117,99,101,100,101,109,111,95,104,101, - 97,100,101,114,115,46,104,34,13,10,13,10,35,105,102,32,74,85,67,69,95,87,69,66,95,66,82,79,87,83,69,82,13,10,13,10,47,47,61,61, + 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,13,10,42,47,13, + 10,13,10,35,105,110,99,108,117,100,101,32,34,46,46,47,106,117,99,101,100,101,109,111,95,104,101,97,100,101,114,115,46,104,34,13,10,13,10,35, + 105,102,32,74,85,67,69,95,87,69,66,95,66,82,79,87,83,69,82,13,10,13,10,47,47,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, - 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,13,10,47,42, - 42,32,87,101,39,108,108,32,117,115,101,32,97,32,115,117,98,99,108,97,115,115,32,111,102,32,87,101,98,66,114,111,119,115,101,114,67,111,109,112, - 111,110,101,110,116,32,116,111,32,100,101,109,111,110,115,116,114,97,116,101,32,104,111,119,32,116,111,32,103,101,116,32,99,97,108,108,98,97,99,107, - 115,13,10,32,32,32,32,119,104,101,110,32,116,104,101,32,98,114,111,119,115,101,114,32,99,104,97,110,103,101,115,32,85,82,76,46,32,89,111,117, - 32,100,111,110,39,116,32,110,101,101,100,32,116,111,32,100,111,32,116,104,105,115,44,32,121,111,117,32,99,97,110,32,106,117,115,116,32,97,108,115, - 111,13,10,32,32,32,32,106,117,115,116,32,117,115,101,32,116,104,101,32,87,101,98,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,32, - 99,108,97,115,115,32,100,105,114,101,99,116,108,121,46,13,10,42,47,13,10,99,108,97,115,115,32,68,101,109,111,66,114,111,119,115,101,114,67,111, - 109,112,111,110,101,110,116,32,32,58,32,112,117,98,108,105,99,32,87,101,98,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,13,10,123, - 13,10,112,117,98,108,105,99,58,13,10,32,32,32,32,47,47,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, + 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,13,10,47,42,42,32,87,101,39,108,108,32,117,115,101,32,97, + 32,115,117,98,99,108,97,115,115,32,111,102,32,87,101,98,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,32,116,111,32,100,101,109,111, + 110,115,116,114,97,116,101,32,104,111,119,32,116,111,32,103,101,116,32,99,97,108,108,98,97,99,107,115,13,10,32,32,32,32,119,104,101,110,32,116, + 104,101,32,98,114,111,119,115,101,114,32,99,104,97,110,103,101,115,32,85,82,76,46,32,89,111,117,32,100,111,110,39,116,32,110,101,101,100,32,116, + 111,32,100,111,32,116,104,105,115,44,32,121,111,117,32,99,97,110,32,106,117,115,116,32,97,108,115,111,13,10,32,32,32,32,106,117,115,116,32,117, + 115,101,32,116,104,101,32,87,101,98,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,32,99,108,97,115,115,32,100,105,114,101,99,116,108, + 121,46,13,10,42,47,13,10,99,108,97,115,115,32,68,101,109,111,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,32,32,58,32,112,117, + 98,108,105,99,32,87,101,98,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,13,10,123,13,10,112,117,98,108,105,99,58,13,10,32,32, + 32,32,47,47,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, - 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,13,10,32,32,32,32,68,101,109,111,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110, - 116,32,40,84,101,120,116,69,100,105,116,111,114,42,32,97,100,100,114,101,115,115,84,101,120,116,66,111,120,95,41,13,10,32,32,32,32,32,32,32, - 32,58,32,97,100,100,114,101,115,115,84,101,120,116,66,111,120,32,40,97,100,100,114,101,115,115,84,101,120,116,66,111,120,95,41,13,10,32,32,32, - 32,123,13,10,32,32,32,32,125,13,10,13,10,32,32,32,32,47,47,32,84,104,105,115,32,109,101,116,104,111,100,32,103,101,116,115,32,99,97,108, - 108,101,100,32,119,104,101,110,32,116,104,101,32,98,114,111,119,115,101,114,32,105,115,32,97,98,111,117,116,32,116,111,32,103,111,32,116,111,32,97, - 32,110,101,119,32,85,82,76,46,46,13,10,32,32,32,32,98,111,111,108,32,112,97,103,101,65,98,111,117,116,84,111,76,111,97,100,32,40,99,111, - 110,115,116,32,83,116,114,105,110,103,38,32,110,101,119,85,82,76,41,13,10,32,32,32,32,123,13,10,32,32,32,32,32,32,32,32,47,47,32,87, - 101,39,108,108,32,106,117,115,116,32,117,112,100,97,116,101,32,111,117,114,32,97,100,100,114,101,115,115,32,98,111,120,32,116,111,32,114,101,102,108, - 101,99,116,32,116,104,101,32,110,101,119,32,108,111,99,97,116,105,111,110,46,46,13,10,32,32,32,32,32,32,32,32,97,100,100,114,101,115,115,84, - 101,120,116,66,111,120,45,62,115,101,116,84,101,120,116,32,40,110,101,119,85,82,76,44,32,102,97,108,115,101,41,59,13,10,13,10,32,32,32,32, - 32,32,32,32,47,47,32,119,101,32,99,111,117,108,100,32,114,101,116,117,114,110,32,102,97,108,115,101,32,104,101,114,101,32,116,111,32,116,101,108, - 108,32,116,104,101,32,98,114,111,119,115,101,114,32,110,111,116,32,116,111,32,103,111,32,97,104,101,97,100,32,119,105,116,104,13,10,32,32,32,32, - 32,32,32,32,47,47,32,108,111,97,100,105,110,103,32,116,104,101,32,112,97,103,101,46,13,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110, - 32,116,114,117,101,59,13,10,32,32,32,32,125,13,10,13,10,32,32,32,32,47,47,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, + 61,61,13,10,32,32,32,32,68,101,109,111,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,32,40,84,101,120,116,69,100,105,116,111,114, + 42,32,97,100,100,114,101,115,115,84,101,120,116,66,111,120,95,41,13,10,32,32,32,32,32,32,32,32,58,32,97,100,100,114,101,115,115,84,101,120, + 116,66,111,120,32,40,97,100,100,114,101,115,115,84,101,120,116,66,111,120,95,41,13,10,32,32,32,32,123,13,10,32,32,32,32,125,13,10,13,10, + 32,32,32,32,47,47,32,84,104,105,115,32,109,101,116,104,111,100,32,103,101,116,115,32,99,97,108,108,101,100,32,119,104,101,110,32,116,104,101,32, + 98,114,111,119,115,101,114,32,105,115,32,97,98,111,117,116,32,116,111,32,103,111,32,116,111,32,97,32,110,101,119,32,85,82,76,46,46,13,10,32, + 32,32,32,98,111,111,108,32,112,97,103,101,65,98,111,117,116,84,111,76,111,97,100,32,40,99,111,110,115,116,32,83,116,114,105,110,103,38,32,110, + 101,119,85,82,76,41,13,10,32,32,32,32,123,13,10,32,32,32,32,32,32,32,32,47,47,32,87,101,39,108,108,32,106,117,115,116,32,117,112,100, + 97,116,101,32,111,117,114,32,97,100,100,114,101,115,115,32,98,111,120,32,116,111,32,114,101,102,108,101,99,116,32,116,104,101,32,110,101,119,32,108, + 111,99,97,116,105,111,110,46,46,13,10,32,32,32,32,32,32,32,32,97,100,100,114,101,115,115,84,101,120,116,66,111,120,45,62,115,101,116,84,101, + 120,116,32,40,110,101,119,85,82,76,44,32,102,97,108,115,101,41,59,13,10,13,10,32,32,32,32,32,32,32,32,47,47,32,119,101,32,99,111,117, + 108,100,32,114,101,116,117,114,110,32,102,97,108,115,101,32,104,101,114,101,32,116,111,32,116,101,108,108,32,116,104,101,32,98,114,111,119,115,101,114, + 32,110,111,116,32,116,111,32,103,111,32,97,104,101,97,100,32,119,105,116,104,13,10,32,32,32,32,32,32,32,32,47,47,32,108,111,97,100,105,110, + 103,32,116,104,101,32,112,97,103,101,46,13,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,116,114,117,101,59,13,10,32,32,32,32,125, + 13,10,13,10,32,32,32,32,47,47,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, - 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,13,10,32,32,32,32,106,117,99,101,95,85,115,101,68,101,98,117,103, - 103,105,110,103,78,101,119,79,112,101,114,97,116,111,114,13,10,13,10,112,114,105,118,97,116,101,58,13,10,32,32,32,32,84,101,120,116,69,100,105, - 116,111,114,42,32,97,100,100,114,101,115,115,84,101,120,116,66,111,120,59,13,10,13,10,32,32,32,32,68,101,109,111,66,114,111,119,115,101,114,67, - 111,109,112,111,110,101,110,116,32,40,68,101,109,111,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,38,41,59,13,10,32,32,32,32,99, - 111,110,115,116,32,68,101,109,111,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,38,32,111,112,101,114,97,116,111,114,61,32,40,99,111, - 110,115,116,32,68,101,109,111,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,38,41,59,13,10,125,59,13,10,13,10,13,10,47,47,61, + 61,61,61,61,61,61,61,61,13,10,32,32,32,32,106,117,99,101,95,85,115,101,68,101,98,117,103,103,105,110,103,78,101,119,79,112,101,114,97,116, + 111,114,13,10,13,10,112,114,105,118,97,116,101,58,13,10,32,32,32,32,84,101,120,116,69,100,105,116,111,114,42,32,97,100,100,114,101,115,115,84, + 101,120,116,66,111,120,59,13,10,13,10,32,32,32,32,68,101,109,111,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,32,40,68,101,109, + 111,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,38,41,59,13,10,32,32,32,32,99,111,110,115,116,32,68,101,109,111,66,114,111,119, + 115,101,114,67,111,109,112,111,110,101,110,116,38,32,111,112,101,114,97,116,111,114,61,32,40,99,111,110,115,116,32,68,101,109,111,66,114,111,119,115, + 101,114,67,111,109,112,111,110,101,110,116,38,41,59,13,10,125,59,13,10,13,10,13,10,47,47,61,61,61,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, - 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,13,10,99, - 108,97,115,115,32,87,101,98,66,114,111,119,115,101,114,68,101,109,111,32,32,32,58,32,112,117,98,108,105,99,32,67,111,109,112,111,110,101,110,116, - 44,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,112,117,98,108,105,99,32,84,101,120,116,69, - 100,105,116,111,114,76,105,115,116,101,110,101,114,44,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, - 32,112,117,98,108,105,99,32,66,117,116,116,111,110,76,105,115,116,101,110,101,114,13,10,123,13,10,112,117,98,108,105,99,58,13,10,32,32,32,32, - 47,47,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, + 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,13,10,99,108,97,115,115,32,87,101,98,66,114,111,119,115, + 101,114,68,101,109,111,32,32,32,58,32,112,117,98,108,105,99,32,67,111,109,112,111,110,101,110,116,44,13,10,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,112,117,98,108,105,99,32,84,101,120,116,69,100,105,116,111,114,76,105,115,116,101,110,101,114, + 44,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,112,117,98,108,105,99,32,66,117,116,116,111, + 110,76,105,115,116,101,110,101,114,13,10,123,13,10,112,117,98,108,105,99,58,13,10,32,32,32,32,47,47,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, - 13,10,32,32,32,32,87,101,98,66,114,111,119,115,101,114,68,101,109,111,40,41,13,10,32,32,32,32,123,13,10,32,32,32,32,32,32,32,32,115, - 101,116,78,97,109,101,32,40,34,87,101,98,32,66,114,111,119,115,101,114,34,41,59,13,10,13,10,32,32,32,32,32,32,32,32,47,47,32,67,114, - 101,97,116,101,32,97,110,32,97,100,100,114,101,115,115,32,98,111,120,46,46,13,10,32,32,32,32,32,32,32,32,97,100,100,65,110,100,77,97,107, - 101,86,105,115,105,98,108,101,32,40,97,100,100,114,101,115,115,84,101,120,116,66,111,120,32,61,32,110,101,119,32,84,101,120,116,69,100,105,116,111, - 114,40,41,41,59,13,10,32,32,32,32,32,32,32,32,97,100,100,114,101,115,115,84,101,120,116,66,111,120,45,62,115,101,116,84,101,120,116,84,111, - 83,104,111,119,87,104,101,110,69,109,112,116,121,32,40,34,69,110,116,101,114,32,97,32,119,101,98,32,97,100,100,114,101,115,115,44,32,101,46,103, - 46,32,104,116,116,112,58,47,47,119,119,119,46,114,97,119,109,97,116,101,114,105,97,108,115,111,102,116,119,97,114,101,46,99,111,109,34,44,32,67, - 111,108,111,117,114,115,58,58,103,114,101,121,41,59,13,10,32,32,32,32,32,32,32,32,97,100,100,114,101,115,115,84,101,120,116,66,111,120,45,62, - 97,100,100,76,105,115,116,101,110,101,114,32,40,116,104,105,115,41,59,13,10,13,10,32,32,32,32,32,32,32,32,47,47,32,99,114,101,97,116,101, - 32,116,104,101,32,97,99,116,117,97,108,32,98,114,111,119,115,101,114,32,99,111,109,112,111,110,101,110,116,13,10,32,32,32,32,32,32,32,32,97, - 100,100,65,110,100,77,97,107,101,86,105,115,105,98,108,101,32,40,119,101,98,86,105,101,119,32,61,32,110,101,119,32,68,101,109,111,66,114,111,119, - 115,101,114,67,111,109,112,111,110,101,110,116,32,40,97,100,100,114,101,115,115,84,101,120,116,66,111,120,41,41,59,13,10,13,10,32,32,32,32,32, - 32,32,32,47,47,32,97,100,100,32,115,111,109,101,32,98,117,116,116,111,110,115,46,46,13,10,32,32,32,32,32,32,32,32,97,100,100,65,110,100, - 77,97,107,101,86,105,115,105,98,108,101,32,40,103,111,66,117,116,116,111,110,32,61,32,110,101,119,32,84,101,120,116,66,117,116,116,111,110,32,40, - 34,71,111,34,44,32,34,71,111,32,116,111,32,85,82,76,34,41,41,59,13,10,32,32,32,32,32,32,32,32,103,111,66,117,116,116,111,110,45,62, - 97,100,100,66,117,116,116,111,110,76,105,115,116,101,110,101,114,32,40,116,104,105,115,41,59,13,10,32,32,32,32,32,32,32,32,97,100,100,65,110, - 100,77,97,107,101,86,105,115,105,98,108,101,32,40,98,97,99,107,66,117,116,116,111,110,32,61,32,110,101,119,32,84,101,120,116,66,117,116,116,111, - 110,32,40,34,60,60,34,44,32,34,66,97,99,107,34,41,41,59,13,10,32,32,32,32,32,32,32,32,98,97,99,107,66,117,116,116,111,110,45,62, - 97,100,100,66,117,116,116,111,110,76,105,115,116,101,110,101,114,32,40,116,104,105,115,41,59,13,10,32,32,32,32,32,32,32,32,97,100,100,65,110, - 100,77,97,107,101,86,105,115,105,98,108,101,32,40,102,111,114,119,97,114,100,66,117,116,116,111,110,32,61,32,110,101,119,32,84,101,120,116,66,117, - 116,116,111,110,32,40,34,62,62,34,44,32,34,70,111,114,119,97,114,100,34,41,41,59,13,10,32,32,32,32,32,32,32,32,102,111,114,119,97,114, - 100,66,117,116,116,111,110,45,62,97,100,100,66,117,116,116,111,110,76,105,115,116,101,110,101,114,32,40,116,104,105,115,41,59,13,10,13,10,32,32, - 32,32,32,32,32,32,47,47,32,115,101,110,100,32,116,104,101,32,98,114,111,119,115,101,114,32,116,111,32,97,32,115,116,97,114,116,32,112,97,103, - 101,46,46,13,10,32,32,32,32,32,32,32,32,119,101,98,86,105,101,119,45,62,103,111,84,111,85,82,76,32,40,34,104,116,116,112,58,47,47,119, - 119,119,46,103,111,111,103,108,101,46,99,111,109,34,41,59,13,10,32,32,32,32,125,13,10,13,10,32,32,32,32,126,87,101,98,66,114,111,119,115, - 101,114,68,101,109,111,40,41,13,10,32,32,32,32,123,13,10,32,32,32,32,32,32,32,32,100,101,108,101,116,101,65,108,108,67,104,105,108,100,114, - 101,110,40,41,59,13,10,32,32,32,32,125,13,10,13,10,32,32,32,32,118,111,105,100,32,114,101,115,105,122,101,100,40,41,13,10,32,32,32,32, - 123,13,10,32,32,32,32,32,32,32,32,119,101,98,86,105,101,119,45,62,115,101,116,66,111,117,110,100,115,32,40,49,48,44,32,52,53,44,32,103, - 101,116,87,105,100,116,104,40,41,32,45,32,50,48,44,32,103,101,116,72,101,105,103,104,116,40,41,32,45,32,53,53,41,59,13,10,32,32,32,32, - 32,32,32,32,103,111,66,117,116,116,111,110,45,62,115,101,116,66,111,117,110,100,115,32,40,103,101,116,87,105,100,116,104,40,41,32,45,32,52,53, - 44,32,49,48,44,32,51,53,44,32,50,53,41,59,13,10,32,32,32,32,32,32,32,32,97,100,100,114,101,115,115,84,101,120,116,66,111,120,45,62, - 115,101,116,66,111,117,110,100,115,32,40,49,48,48,44,32,49,48,44,32,103,101,116,87,105,100,116,104,40,41,32,45,32,49,53,53,44,32,50,53, - 41,59,13,10,32,32,32,32,32,32,32,32,98,97,99,107,66,117,116,116,111,110,45,62,115,101,116,66,111,117,110,100,115,32,40,49,48,44,32,49, - 48,44,32,51,53,44,32,50,53,41,59,13,10,32,32,32,32,32,32,32,32,102,111,114,119,97,114,100,66,117,116,116,111,110,45,62,115,101,116,66, - 111,117,110,100,115,32,40,53,53,44,32,49,48,44,32,51,53,44,32,50,53,41,59,13,10,32,32,32,32,125,13,10,13,10,32,32,32,32,118,111, - 105,100,32,116,101,120,116,69,100,105,116,111,114,84,101,120,116,67,104,97,110,103,101,100,32,40,84,101,120,116,69,100,105,116,111,114,38,32,101,100, - 105,116,111,114,41,32,32,32,32,32,32,32,32,32,32,32,32,32,123,125,13,10,32,32,32,32,118,111,105,100,32,116,101,120,116,69,100,105,116,111, - 114,69,115,99,97,112,101,75,101,121,80,114,101,115,115,101,100,32,40,84,101,120,116,69,100,105,116,111,114,38,32,101,100,105,116,111,114,41,32,32, - 32,32,32,32,32,32,123,125,13,10,32,32,32,32,118,111,105,100,32,116,101,120,116,69,100,105,116,111,114,70,111,99,117,115,76,111,115,116,32,40, - 84,101,120,116,69,100,105,116,111,114,38,32,101,100,105,116,111,114,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,125,13,10,32,32, - 32,32,13,10,32,32,32,32,118,111,105,100,32,116,101,120,116,69,100,105,116,111,114,82,101,116,117,114,110,75,101,121,80,114,101,115,115,101,100,32, - 40,84,101,120,116,69,100,105,116,111,114,38,41,13,10,32,32,32,32,123,13,10,32,32,32,32,32,32,32,32,119,101,98,86,105,101,119,45,62,103, - 111,84,111,85,82,76,32,40,97,100,100,114,101,115,115,84,101,120,116,66,111,120,45,62,103,101,116,84,101,120,116,40,41,41,59,13,10,32,32,32, - 32,125,13,10,13,10,32,32,32,32,118,111,105,100,32,98,117,116,116,111,110,67,108,105,99,107,101,100,32,40,66,117,116,116,111,110,42,32,98,41, - 13,10,32,32,32,32,123,13,10,32,32,32,32,32,32,32,32,105,102,32,40,98,32,61,61,32,98,97,99,107,66,117,116,116,111,110,41,13,10,32, - 32,32,32,32,32,32,32,32,32,32,32,119,101,98,86,105,101,119,45,62,103,111,66,97,99,107,40,41,59,13,10,32,32,32,32,32,32,32,32,101, - 108,115,101,32,105,102,32,40,98,32,61,61,32,102,111,114,119,97,114,100,66,117,116,116,111,110,41,13,10,32,32,32,32,32,32,32,32,32,32,32, - 32,119,101,98,86,105,101,119,45,62,103,111,70,111,114,119,97,114,100,40,41,59,13,10,32,32,32,32,32,32,32,32,101,108,115,101,32,105,102,32, - 40,98,32,61,61,32,103,111,66,117,116,116,111,110,41,13,10,32,32,32,32,32,32,32,32,32,32,32,32,119,101,98,86,105,101,119,45,62,103,111, - 84,111,85,82,76,32,40,97,100,100,114,101,115,115,84,101,120,116,66,111,120,45,62,103,101,116,84,101,120,116,40,41,41,59,13,10,32,32,32,32, - 125,13,10,13,10,32,32,32,32,106,117,99,101,95,85,115,101,68,101,98,117,103,103,105,110,103,78,101,119,79,112,101,114,97,116,111,114,13,10,13, - 10,112,114,105,118,97,116,101,58,13,10,32,32,32,32,68,101,109,111,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,42,32,119,101,98, - 86,105,101,119,59,13,10,13,10,32,32,32,32,84,101,120,116,69,100,105,116,111,114,42,32,97,100,100,114,101,115,115,84,101,120,116,66,111,120,59, - 13,10,32,32,32,32,84,101,120,116,66,117,116,116,111,110,42,32,103,111,66,117,116,116,111,110,59,13,10,32,32,32,32,84,101,120,116,66,117,116, - 116,111,110,42,32,98,97,99,107,66,117,116,116,111,110,59,13,10,32,32,32,32,84,101,120,116,66,117,116,116,111,110,42,32,102,111,114,119,97,114, - 100,66,117,116,116,111,110,59,13,10,125,59,13,10,13,10,13,10,47,47,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, + 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,13,10,32,32,32,32,87,101,98,66,114,111,119, + 115,101,114,68,101,109,111,40,41,13,10,32,32,32,32,123,13,10,32,32,32,32,32,32,32,32,115,101,116,78,97,109,101,32,40,34,87,101,98,32, + 66,114,111,119,115,101,114,34,41,59,13,10,13,10,32,32,32,32,32,32,32,32,47,47,32,67,114,101,97,116,101,32,97,110,32,97,100,100,114,101, + 115,115,32,98,111,120,46,46,13,10,32,32,32,32,32,32,32,32,97,100,100,65,110,100,77,97,107,101,86,105,115,105,98,108,101,32,40,97,100,100, + 114,101,115,115,84,101,120,116,66,111,120,32,61,32,110,101,119,32,84,101,120,116,69,100,105,116,111,114,40,41,41,59,13,10,32,32,32,32,32,32, + 32,32,97,100,100,114,101,115,115,84,101,120,116,66,111,120,45,62,115,101,116,84,101,120,116,84,111,83,104,111,119,87,104,101,110,69,109,112,116,121, + 32,40,34,69,110,116,101,114,32,97,32,119,101,98,32,97,100,100,114,101,115,115,44,32,101,46,103,46,32,104,116,116,112,58,47,47,119,119,119,46, + 114,97,119,109,97,116,101,114,105,97,108,115,111,102,116,119,97,114,101,46,99,111,109,34,44,32,67,111,108,111,117,114,115,58,58,103,114,101,121,41, + 59,13,10,32,32,32,32,32,32,32,32,97,100,100,114,101,115,115,84,101,120,116,66,111,120,45,62,97,100,100,76,105,115,116,101,110,101,114,32,40, + 116,104,105,115,41,59,13,10,13,10,32,32,32,32,32,32,32,32,47,47,32,99,114,101,97,116,101,32,116,104,101,32,97,99,116,117,97,108,32,98, + 114,111,119,115,101,114,32,99,111,109,112,111,110,101,110,116,13,10,32,32,32,32,32,32,32,32,97,100,100,65,110,100,77,97,107,101,86,105,115,105, + 98,108,101,32,40,119,101,98,86,105,101,119,32,61,32,110,101,119,32,68,101,109,111,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,32, + 40,97,100,100,114,101,115,115,84,101,120,116,66,111,120,41,41,59,13,10,13,10,32,32,32,32,32,32,32,32,47,47,32,97,100,100,32,115,111,109, + 101,32,98,117,116,116,111,110,115,46,46,13,10,32,32,32,32,32,32,32,32,97,100,100,65,110,100,77,97,107,101,86,105,115,105,98,108,101,32,40, + 103,111,66,117,116,116,111,110,32,61,32,110,101,119,32,84,101,120,116,66,117,116,116,111,110,32,40,34,71,111,34,44,32,34,71,111,32,116,111,32, + 85,82,76,34,41,41,59,13,10,32,32,32,32,32,32,32,32,103,111,66,117,116,116,111,110,45,62,97,100,100,66,117,116,116,111,110,76,105,115,116, + 101,110,101,114,32,40,116,104,105,115,41,59,13,10,32,32,32,32,32,32,32,32,97,100,100,65,110,100,77,97,107,101,86,105,115,105,98,108,101,32, + 40,98,97,99,107,66,117,116,116,111,110,32,61,32,110,101,119,32,84,101,120,116,66,117,116,116,111,110,32,40,34,60,60,34,44,32,34,66,97,99, + 107,34,41,41,59,13,10,32,32,32,32,32,32,32,32,98,97,99,107,66,117,116,116,111,110,45,62,97,100,100,66,117,116,116,111,110,76,105,115,116, + 101,110,101,114,32,40,116,104,105,115,41,59,13,10,32,32,32,32,32,32,32,32,97,100,100,65,110,100,77,97,107,101,86,105,115,105,98,108,101,32, + 40,102,111,114,119,97,114,100,66,117,116,116,111,110,32,61,32,110,101,119,32,84,101,120,116,66,117,116,116,111,110,32,40,34,62,62,34,44,32,34, + 70,111,114,119,97,114,100,34,41,41,59,13,10,32,32,32,32,32,32,32,32,102,111,114,119,97,114,100,66,117,116,116,111,110,45,62,97,100,100,66, + 117,116,116,111,110,76,105,115,116,101,110,101,114,32,40,116,104,105,115,41,59,13,10,13,10,32,32,32,32,32,32,32,32,47,47,32,115,101,110,100, + 32,116,104,101,32,98,114,111,119,115,101,114,32,116,111,32,97,32,115,116,97,114,116,32,112,97,103,101,46,46,13,10,32,32,32,32,32,32,32,32, + 119,101,98,86,105,101,119,45,62,103,111,84,111,85,82,76,32,40,34,104,116,116,112,58,47,47,119,119,119,46,103,111,111,103,108,101,46,99,111,109, + 34,41,59,13,10,32,32,32,32,125,13,10,13,10,32,32,32,32,126,87,101,98,66,114,111,119,115,101,114,68,101,109,111,40,41,13,10,32,32,32, + 32,123,13,10,32,32,32,32,32,32,32,32,100,101,108,101,116,101,65,108,108,67,104,105,108,100,114,101,110,40,41,59,13,10,32,32,32,32,125,13, + 10,13,10,32,32,32,32,118,111,105,100,32,114,101,115,105,122,101,100,40,41,13,10,32,32,32,32,123,13,10,32,32,32,32,32,32,32,32,119,101, + 98,86,105,101,119,45,62,115,101,116,66,111,117,110,100,115,32,40,49,48,44,32,52,53,44,32,103,101,116,87,105,100,116,104,40,41,32,45,32,50, + 48,44,32,103,101,116,72,101,105,103,104,116,40,41,32,45,32,53,53,41,59,13,10,32,32,32,32,32,32,32,32,103,111,66,117,116,116,111,110,45, + 62,115,101,116,66,111,117,110,100,115,32,40,103,101,116,87,105,100,116,104,40,41,32,45,32,52,53,44,32,49,48,44,32,51,53,44,32,50,53,41, + 59,13,10,32,32,32,32,32,32,32,32,97,100,100,114,101,115,115,84,101,120,116,66,111,120,45,62,115,101,116,66,111,117,110,100,115,32,40,49,48, + 48,44,32,49,48,44,32,103,101,116,87,105,100,116,104,40,41,32,45,32,49,53,53,44,32,50,53,41,59,13,10,32,32,32,32,32,32,32,32,98, + 97,99,107,66,117,116,116,111,110,45,62,115,101,116,66,111,117,110,100,115,32,40,49,48,44,32,49,48,44,32,51,53,44,32,50,53,41,59,13,10, + 32,32,32,32,32,32,32,32,102,111,114,119,97,114,100,66,117,116,116,111,110,45,62,115,101,116,66,111,117,110,100,115,32,40,53,53,44,32,49,48, + 44,32,51,53,44,32,50,53,41,59,13,10,32,32,32,32,125,13,10,13,10,32,32,32,32,118,111,105,100,32,116,101,120,116,69,100,105,116,111,114, + 84,101,120,116,67,104,97,110,103,101,100,32,40,84,101,120,116,69,100,105,116,111,114,38,32,101,100,105,116,111,114,41,32,32,32,32,32,32,32,32, + 32,32,32,32,32,123,125,13,10,32,32,32,32,118,111,105,100,32,116,101,120,116,69,100,105,116,111,114,69,115,99,97,112,101,75,101,121,80,114,101, + 115,115,101,100,32,40,84,101,120,116,69,100,105,116,111,114,38,32,101,100,105,116,111,114,41,32,32,32,32,32,32,32,32,123,125,13,10,32,32,32, + 32,118,111,105,100,32,116,101,120,116,69,100,105,116,111,114,70,111,99,117,115,76,111,115,116,32,40,84,101,120,116,69,100,105,116,111,114,38,32,101, + 100,105,116,111,114,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,123,125,13,10,13,10,32,32,32,32,118,111,105,100,32,116,101,120,116, + 69,100,105,116,111,114,82,101,116,117,114,110,75,101,121,80,114,101,115,115,101,100,32,40,84,101,120,116,69,100,105,116,111,114,38,41,13,10,32,32, + 32,32,123,13,10,32,32,32,32,32,32,32,32,119,101,98,86,105,101,119,45,62,103,111,84,111,85,82,76,32,40,97,100,100,114,101,115,115,84,101, + 120,116,66,111,120,45,62,103,101,116,84,101,120,116,40,41,41,59,13,10,32,32,32,32,125,13,10,13,10,32,32,32,32,118,111,105,100,32,98,117, + 116,116,111,110,67,108,105,99,107,101,100,32,40,66,117,116,116,111,110,42,32,98,41,13,10,32,32,32,32,123,13,10,32,32,32,32,32,32,32,32, + 105,102,32,40,98,32,61,61,32,98,97,99,107,66,117,116,116,111,110,41,13,10,32,32,32,32,32,32,32,32,32,32,32,32,119,101,98,86,105,101, + 119,45,62,103,111,66,97,99,107,40,41,59,13,10,32,32,32,32,32,32,32,32,101,108,115,101,32,105,102,32,40,98,32,61,61,32,102,111,114,119, + 97,114,100,66,117,116,116,111,110,41,13,10,32,32,32,32,32,32,32,32,32,32,32,32,119,101,98,86,105,101,119,45,62,103,111,70,111,114,119,97, + 114,100,40,41,59,13,10,32,32,32,32,32,32,32,32,101,108,115,101,32,105,102,32,40,98,32,61,61,32,103,111,66,117,116,116,111,110,41,13,10, + 32,32,32,32,32,32,32,32,32,32,32,32,119,101,98,86,105,101,119,45,62,103,111,84,111,85,82,76,32,40,97,100,100,114,101,115,115,84,101,120, + 116,66,111,120,45,62,103,101,116,84,101,120,116,40,41,41,59,13,10,32,32,32,32,125,13,10,13,10,32,32,32,32,106,117,99,101,95,85,115,101, + 68,101,98,117,103,103,105,110,103,78,101,119,79,112,101,114,97,116,111,114,13,10,13,10,112,114,105,118,97,116,101,58,13,10,32,32,32,32,68,101, + 109,111,66,114,111,119,115,101,114,67,111,109,112,111,110,101,110,116,42,32,119,101,98,86,105,101,119,59,13,10,13,10,32,32,32,32,84,101,120,116, + 69,100,105,116,111,114,42,32,97,100,100,114,101,115,115,84,101,120,116,66,111,120,59,13,10,32,32,32,32,84,101,120,116,66,117,116,116,111,110,42, + 32,103,111,66,117,116,116,111,110,59,13,10,32,32,32,32,84,101,120,116,66,117,116,116,111,110,42,32,98,97,99,107,66,117,116,116,111,110,59,13, + 10,32,32,32,32,84,101,120,116,66,117,116,116,111,110,42,32,102,111,114,119,97,114,100,66,117,116,116,111,110,59,13,10,125,59,13,10,13,10,13, + 10,47,47,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, - 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,13,10,67,111,109,112,111,110,101,110,116,42,32,99,114,101,97,116,101,87,101,98, - 66,114,111,119,115,101,114,68,101,109,111,40,41,13,10,123,13,10,32,32,32,32,114,101,116,117,114,110,32,110,101,119,32,87,101,98,66,114,111,119, - 115,101,114,68,101,109,111,40,41,59,13,10,125,13,10,13,10,35,101,110,100,105,102,13,10,0,0}; + 61,13,10,67,111,109,112,111,110,101,110,116,42,32,99,114,101,97,116,101,87,101,98,66,114,111,119,115,101,114,68,101,109,111,40,41,13,10,123,13, + 10,32,32,32,32,114,101,116,117,114,110,32,110,101,119,32,87,101,98,66,114,111,119,115,101,114,68,101,109,111,40,41,59,13,10,125,13,10,13,10, + 35,101,110,100,105,102,13,10,0,0}; const char* BinaryData::webbrowserdemo_cpp = (const char*) temp5; static const unsigned char temp6[] = {80,75,3,4,20,0,2,0,8,0,128,122,250,52,23,17,234,255,206,13,0,0,219,67,0,0,16,0,0,0,100,111,99,117,109,101,110,116,45,110, @@ -6051,16 +6052,7 @@ static const unsigned char temp9[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61, 10,125,13,10,0,0}; const char* BinaryData::threadingdemo_cpp = (const char*) temp9; -static const unsigned char temp10[] = {13,10,70,89,73,46,46,13,10,13,10,84,111,32,101,109,98,101,100,32,116,104,101,32,102,105,108,101,115,32,97,110,100,32,116,104,105,110,103,115, - 32,116,104,97,116,32,116,104,101,32,100,101,109,111,32,110,101,101,100,115,32,105,110,116,111,32,105,116,115,32,101,120,101,99,117,116,97,98,108,101, - 44,32,13,10,73,39,118,101,32,117,115,101,100,32,109,121,32,66,105,110,97,114,121,66,117,105,108,100,101,114,32,117,116,105,108,105,116,121,32,45, - 32,116,104,101,32,102,105,108,101,115,32,105,110,32,116,104,105,115,32,100,105,114,101,99,116,111,114,121,32,97,114,101,32,116,104,101,13,10,111,110, - 101,115,32,116,104,97,116,32,103,101,116,32,101,110,99,111,100,101,100,32,105,110,116,111,32,66,105,110,97,114,121,68,97,116,97,46,99,112,112,32, - 97,110,100,32,66,105,110,97,114,121,68,97,116,97,46,104,44,32,119,104,105,99,104,32,103,101,116,32,98,117,105,108,116,32,13,10,105,110,116,111, - 32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,46,13,10,0,0}; -const char* BinaryData::readme__what_this_directory_is_for_txt = (const char*) temp10; - -static const unsigned char temp11[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, +static const unsigned char temp10[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,61,13,10,13,10,32,32,32,84,104,105,115,32,102,105,108,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,74,85,67,69, 32,108,105,98,114,97,114,121,32,45,32,34,74,117,108,101,115,39,32,85,116,105,108,105,116,121,32,67,108,97,115,115,32,69,120,116,101,110,115,105, @@ -6650,40 +6642,9 @@ static const unsigned char temp11[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,13,10,67,111,109,112,111,110,101,110,116,42,32,99,114,101,97,116,101,65,117,100,105,111,68,101,109,111,40,41,13,10,123,13,10,32,32, 32,32,114,101,116,117,114,110,32,110,101,119,32,65,117,100,105,111,68,101,109,111,40,41,59,13,10,125,13,10,0,0}; -const char* BinaryData::audiodemo_cpp = (const char*) temp11; +const char* BinaryData::audiodemo_cpp = (const char*) temp10; -static const unsigned char temp12[] = {60,116,114,101,101,62,13,10,32,32,32,32,60,105,116,101,109,49,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,32,99,111, - 108,111,117,114,61,34,102,102,102,102,48,48,48,48,34,32,119,105,100,116,104,61,34,56,48,48,34,32,47,62,13,10,32,32,32,32,32,32,32,32, - 60,115,117,98,110,111,100,101,32,99,111,108,111,117,114,61,34,102,102,51,51,98,98,48,48,34,32,119,105,100,116,104,61,34,53,48,34,32,47,62, - 13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,32,99,111,108,111,117,114,61,34,51,51,48,48,48,48,48,48,34,32,47,62,13, - 10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,32,119,105,100,116,104,61,34,49,48,48,34,32,47,62,13,10,32,32,32,32,32,32, - 32,32,60,115,117,98,110,111,100,101,32,99,111,108,111,117,114,61,34,102,102,56,56,54,54,101,101,34,32,47,62,13,10,32,32,32,32,32,32,32, - 32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,32,99,111,108,111,117,114,61,34,51,51, - 48,48,48,48,48,48,34,32,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32, - 60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,60,47,105,116,101,109,49,62,13,10,13,10,32,32,32,32,60,105,116,101,109,50,32,99, - 111,108,111,117,114,61,34,102,102,55,55,55,55,55,55,34,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32, - 32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32, - 32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,32,119,105,100,116, - 104,61,34,56,48,48,34,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,32,119,105,100,116,104,61,34,56,48,48,34,47, - 62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47, - 62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,105,116,101,109,51,62,13,10, - 32,32,32,32,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,62,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60, - 115,117,98,110,111,100,101,32,119,105,100,116,104,61,34,53,48,34,47,62,13,10,32,32,32,32,32,32,32,32,32,32,32,32,60,47,115,117,98,110, - 111,100,101,62,13,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,32,32, - 32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32, - 32,32,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,117,98,110,111, - 100,101,47,62,13,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,32,32, - 32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32, - 32,32,32,32,32,32,60,47,105,116,101,109,51,62,13,10,32,32,32,32,60,47,105,116,101,109,50,62,13,10,13,10,32,32,32,32,60,105,116,101, - 109,52,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100, - 101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100, - 101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100, - 101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100, - 101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,60,47,105,116,101,109,52,62,13,10,60, - 47,116,114,101,101,62,0,0}; -const char* BinaryData::treedemo_xml = (const char*) temp12; - -static const unsigned char temp13[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, +static const unsigned char temp11[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,61,13,10,13,10,32,32,32,84,104,105,115,32,102,105,108,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,74,85,67,69, 32,108,105,98,114,97,114,121,32,45,32,34,74,117,108,101,115,39,32,85,116,105,108,105,116,121,32,67,108,97,115,115,32,69,120,116,101,110,115,105, @@ -6923,9 +6884,18 @@ static const unsigned char temp13[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,13,10,67,111,109,112,111,110,101,110,116,42,32,99,114,101,97,116,101,79,112,101,110,71, 76,68,101,109,111,40,41,13,10,123,13,10,32,32,32,32,114,101,116,117,114,110,32,110,101,119,32,79,112,101,110,71,76,68,101,109,111,40,41,59, 13,10,125,13,10,13,10,35,101,110,100,105,102,13,10,0,0}; -const char* BinaryData::opengldemo_cpp = (const char*) temp13; +const char* BinaryData::opengldemo_cpp = (const char*) temp11; -static const unsigned char temp14[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, +static const unsigned char temp12[] = {13,10,70,89,73,46,46,13,10,13,10,84,111,32,101,109,98,101,100,32,116,104,101,32,102,105,108,101,115,32,97,110,100,32,116,104,105,110,103,115, + 32,116,104,97,116,32,116,104,101,32,100,101,109,111,32,110,101,101,100,115,32,105,110,116,111,32,105,116,115,32,101,120,101,99,117,116,97,98,108,101, + 44,32,13,10,73,39,118,101,32,117,115,101,100,32,109,121,32,66,105,110,97,114,121,66,117,105,108,100,101,114,32,117,116,105,108,105,116,121,32,45, + 32,116,104,101,32,102,105,108,101,115,32,105,110,32,116,104,105,115,32,100,105,114,101,99,116,111,114,121,32,97,114,101,32,116,104,101,13,10,111,110, + 101,115,32,116,104,97,116,32,103,101,116,32,101,110,99,111,100,101,100,32,105,110,116,111,32,66,105,110,97,114,121,68,97,116,97,46,99,112,112,32, + 97,110,100,32,66,105,110,97,114,121,68,97,116,97,46,104,44,32,119,104,105,99,104,32,103,101,116,32,98,117,105,108,116,32,13,10,105,110,116,111, + 32,116,104,101,32,97,112,112,108,105,99,97,116,105,111,110,46,13,10,0,0}; +const char* BinaryData::readme__what_this_directory_is_for_txt = (const char*) temp12; + +static const unsigned char temp13[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,61,13,10,13,10,32,32,32,84,104,105,115,32,102,105,108,101,32,105,115,32,112,97,114,116,32,111,102,32,116,104,101,32,74,85,67,69, 32,108,105,98,114,97,114,121,32,45,32,34,74,117,108,101,115,39,32,85,116,105,108,105,116,121,32,67,108,97,115,115,32,69,120,116,101,110,115,105, @@ -7281,7 +7251,38 @@ static const unsigned char temp14[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61 101,40,41,41,59,13,10,32,32,32,32,125,13,10,125,59,13,10,13,10,67,111,109,112,111,110,101,110,116,42,32,99,114,101,97,116,101,80,97,116, 104,115,65,110,100,84,114,97,110,115,102,111,114,109,115,68,101,109,111,40,41,13,10,123,13,10,32,32,32,32,114,101,116,117,114,110,32,110,101,119, 32,80,97,116,104,115,65,110,100,84,114,97,110,115,102,111,114,109,115,68,101,109,111,40,41,59,13,10,125,13,10,0,0}; -const char* BinaryData::pathsandtransformsdemo_cpp = (const char*) temp14; +const char* BinaryData::pathsandtransformsdemo_cpp = (const char*) temp13; + +static const unsigned char temp14[] = {60,116,114,101,101,62,13,10,32,32,32,32,60,105,116,101,109,49,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,32,99,111, + 108,111,117,114,61,34,102,102,102,102,48,48,48,48,34,32,119,105,100,116,104,61,34,56,48,48,34,32,47,62,13,10,32,32,32,32,32,32,32,32, + 60,115,117,98,110,111,100,101,32,99,111,108,111,117,114,61,34,102,102,51,51,98,98,48,48,34,32,119,105,100,116,104,61,34,53,48,34,32,47,62, + 13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,32,99,111,108,111,117,114,61,34,51,51,48,48,48,48,48,48,34,32,47,62,13, + 10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,32,119,105,100,116,104,61,34,49,48,48,34,32,47,62,13,10,32,32,32,32,32,32, + 32,32,60,115,117,98,110,111,100,101,32,99,111,108,111,117,114,61,34,102,102,56,56,54,54,101,101,34,32,47,62,13,10,32,32,32,32,32,32,32, + 32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,32,99,111,108,111,117,114,61,34,51,51, + 48,48,48,48,48,48,34,32,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32, + 60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,60,47,105,116,101,109,49,62,13,10,13,10,32,32,32,32,60,105,116,101,109,50,32,99, + 111,108,111,117,114,61,34,102,102,55,55,55,55,55,55,34,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32, + 32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32, + 32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,32,119,105,100,116, + 104,61,34,56,48,48,34,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,32,119,105,100,116,104,61,34,56,48,48,34,47, + 62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47, + 62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,105,116,101,109,51,62,13,10, + 32,32,32,32,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,62,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60, + 115,117,98,110,111,100,101,32,119,105,100,116,104,61,34,53,48,34,47,62,13,10,32,32,32,32,32,32,32,32,32,32,32,32,60,47,115,117,98,110, + 111,100,101,62,13,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,32,32, + 32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32, + 32,32,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,117,98,110,111, + 100,101,47,62,13,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,32,32, + 32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32, + 32,32,32,32,32,32,60,47,105,116,101,109,51,62,13,10,32,32,32,32,60,47,105,116,101,109,50,62,13,10,13,10,32,32,32,32,60,105,116,101, + 109,52,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100, + 101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100, + 101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100, + 101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100, + 101,47,62,13,10,32,32,32,32,32,32,32,32,60,115,117,98,110,111,100,101,47,62,13,10,32,32,32,32,60,47,105,116,101,109,52,62,13,10,60, + 47,116,114,101,101,62,0,0}; +const char* BinaryData::treedemo_xml = (const char*) temp14; static const unsigned char temp15[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, 61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61, @@ -8334,4 +8335,3 @@ static const unsigned char temp19[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61 13,10,123,13,10,32,32,32,32,114,101,116,117,114,110,32,110,101,119,32,67,97,109,101,114,97,68,101,109,111,40,41,59,13,10,125,13,10,13,10, 35,101,110,100,105,102,13,10,0,0}; const char* BinaryData::camerademo_cpp = (const char*) temp19; - diff --git a/extras/juce demo/src/BinaryData.h b/extras/juce demo/src/BinaryData.h index b19afd1a12..0d68c501dc 100644 --- a/extras/juce demo/src/BinaryData.h +++ b/extras/juce demo/src/BinaryData.h @@ -18,7 +18,7 @@ namespace BinaryData const int treeviewdemo_cppSize = 8715; extern const char* webbrowserdemo_cpp; - const int webbrowserdemo_cppSize = 5385; + const int webbrowserdemo_cppSize = 5408; extern const char* icons_zip; const int icons_zipSize = 83876; @@ -32,21 +32,21 @@ namespace BinaryData extern const char* threadingdemo_cpp; const int threadingdemo_cppSize = 10484; - extern const char* readme__what_this_directory_is_for_txt; - const int readme__what_this_directory_is_for_txtSize = 259; - extern const char* audiodemo_cpp; const int audiodemo_cppSize = 23590; - extern const char* treedemo_xml; - const int treedemo_xmlSize = 1126; - extern const char* opengldemo_cpp; const int opengldemo_cppSize = 9575; + extern const char* readme__what_this_directory_is_for_txt; + const int readme__what_this_directory_is_for_txtSize = 259; + extern const char* pathsandtransformsdemo_cpp; const int pathsandtransformsdemo_cppSize = 14231; + extern const char* treedemo_xml; + const int treedemo_xmlSize = 1126; + extern const char* quicktimedemo_cpp; const int quicktimedemo_cppSize = 4576; diff --git a/extras/juce demo/src/MainDemoWindow.cpp b/extras/juce demo/src/MainDemoWindow.cpp index 622d11afd9..66fec5e035 100644 --- a/extras/juce demo/src/MainDemoWindow.cpp +++ b/extras/juce demo/src/MainDemoWindow.cpp @@ -1,678 +1,678 @@ -/* - ============================================================================== - - This file is part of the JUCE library - "Jules' Utility Class Extensions" - Copyright 2004-7 by Raw Material Software ltd. - - ------------------------------------------------------------------------------ - - JUCE can be redistributed and/or modified under the terms of the - GNU General Public License, as published by the Free Software Foundation; - either version 2 of the License, or (at your option) any later version. - - 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. - - You should have received a copy of the GNU General Public License - along with JUCE; if not, visit www.gnu.org/licenses or write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - ------------------------------------------------------------------------------ - - If you'd like to release a closed-source product which uses JUCE, commercial - licenses are also available: visit www.rawmaterialsoftware.com/juce for - more information. - - ============================================================================== -*/ - -#include "jucedemo_headers.h" -#include "MainDemoWindow.h" - - -//============================================================================== -class SourceCodeWindow; -static SourceCodeWindow* sourceWindow = 0; - - -//============================================================================== -class SourceCodeWindow : public DialogWindow -{ - TextEditor* textBox; - -public: - SourceCodeWindow() - : DialogWindow (T("JUCE Demo Source Code!"), - Colours::floralwhite, - false) - { - setContentComponent (textBox = new TextEditor()); - - textBox->setColour (TextEditor::backgroundColourId, Colours::white); - textBox->setMultiLine (true, false); - textBox->setReturnKeyStartsNewLine (true); - - setResizable (true, true); // we'll choose a corner-resizer component for this window, - // as a contrast to the resizable border on the main window - } - - ~SourceCodeWindow() - { - // the text editor gets deleted automatically because it's the - // window's content component. - - sourceWindow = 0; - } - - void closeButtonPressed() - { - delete this; - } - - void updateSourceCode (const String& text) - { - Font font (14.0f); - font.setTypefaceName (Font::getDefaultMonospacedFontName()); - textBox->setFont (font); - - textBox->setText (text); - - toFront (true); - } -}; - -//============================================================================== -class ContentComp : public Component, - public MenuBarModel, - public ApplicationCommandTarget -{ - //============================================================================== - MainDemoWindow* mainWindow; - - OldSchoolLookAndFeel oldLookAndFeel; - - Component* currentDemo; - int currentDemoId; - const char* demoSourceCodeText; - - TooltipWindow tooltipWindow; // to add tooltips to an application, you - // just need to create one of these and leave it - // there to do its work.. - - enum CommandIDs - { - showPathsAndTransforms = 0x2000, - showFontsAndText = 0x2001, - showWidgets = 0x2002, - showThreading = 0x2003, - showTreeView = 0x2004, - showAudio = 0x2005, - showDragAndDrop = 0x2006, - showOpenGL = 0x2007, - showQuicktime = 0x2008, - showInterprocessComms = 0x2009, - showTable = 0x2010, - showCamera = 0x2011, - showWebBrowser = 0x2012, - - showSourceCode = 0x200a, - - setDefaultLookAndFeel = 0x200b, - setOldSchoolLookAndFeel = 0x200c, - useNativeTitleBar = 0x200d, - useNativeMenus = 0x200e, - goToKioskMode = 0x200f - }; - -public: - //============================================================================== - ContentComp (MainDemoWindow* mainWindow_) - : mainWindow (mainWindow_), - currentDemo (0), - currentDemoId (0), - demoSourceCodeText (0) - { - invokeDirectly (showPathsAndTransforms, true); - } - - ~ContentComp() - { - // (need to do this because the old school look-and-feel object is one of our members, - // so will be deleted with us, and would leave a dangling pointer if it's selected) - LookAndFeel::setDefaultLookAndFeel (0); - - deleteAllChildren(); - - deleteAndZero (sourceWindow); - } - - //============================================================================== - void resized() - { - if (currentDemo != 0) - currentDemo->setBounds (0, 0, getWidth(), getHeight()); - } - - //============================================================================== - void showDemo (Component* demoComp, const char* sourceCodeText) - { - delete currentDemo; - currentDemo = demoComp; - - addAndMakeVisible (currentDemo); - resized(); - - demoSourceCodeText = sourceCodeText; - } - - void showSource() - { - if (sourceWindow == 0) - { - sourceWindow = new SourceCodeWindow(); - sourceWindow->centreAroundComponent (this, 750, 600); - sourceWindow->setVisible (true); - } - - sourceWindow->updateSourceCode (demoSourceCodeText); - } - - //============================================================================== - const StringArray getMenuBarNames() - { - const tchar* const names[] = { T("Demo"), T("Source Code"), T("Look-and-feel"), 0 }; - - return StringArray ((const tchar**) names); - } - - const PopupMenu getMenuForIndex (int menuIndex, - const String& menuName) - { - ApplicationCommandManager* const commandManager = mainWindow->commandManager; - - PopupMenu menu; - - if (menuIndex == 0) - { - menu.addCommandItem (commandManager, showPathsAndTransforms); - menu.addCommandItem (commandManager, showFontsAndText); - menu.addCommandItem (commandManager, showWidgets); - menu.addCommandItem (commandManager, showThreading); - menu.addCommandItem (commandManager, showTreeView); - menu.addCommandItem (commandManager, showTable); - menu.addCommandItem (commandManager, showAudio); - menu.addCommandItem (commandManager, showDragAndDrop); - menu.addCommandItem (commandManager, showOpenGL); - menu.addCommandItem (commandManager, showQuicktime); - menu.addCommandItem (commandManager, showInterprocessComms); - menu.addCommandItem (commandManager, showCamera); - menu.addCommandItem (commandManager, showWebBrowser); - - menu.addSeparator(); - menu.addCommandItem (commandManager, StandardApplicationCommandIDs::quit); - } - else if (menuIndex == 1) - { - menu.addCommandItem (commandManager, showSourceCode); - } - else if (menuIndex == 2) - { - menu.addCommandItem (commandManager, setDefaultLookAndFeel); - menu.addCommandItem (commandManager, setOldSchoolLookAndFeel); - menu.addSeparator(); - menu.addCommandItem (commandManager, useNativeTitleBar); - -#if JUCE_MAC - menu.addCommandItem (commandManager, useNativeMenus); -#endif - -#if ! JUCE_LINUX - menu.addCommandItem (commandManager, goToKioskMode); -#endif - } - - return menu; - } - - void menuItemSelected (int menuItemID, - int topLevelMenuIndex) - { - // all our menu items are invoked automatically as commands, so no need to do - // anything in this callback - } - - //============================================================================== - // The following methods implement the ApplicationCommandTarget interface, allowing - // this window to publish a set of actions it can perform, and which can be mapped - // onto menus, keypresses, etc. - - ApplicationCommandTarget* getNextCommandTarget() - { - // this will return the next parent component that is an ApplicationCommandTarget (in this - // case, there probably isn't one, but it's best to use this method in your own apps). - return findFirstTargetParentComponent(); - } - - void getAllCommands (Array & commands) - { - // this returns the set of all commands that this target can perform.. - const CommandID ids[] = { showPathsAndTransforms, - showFontsAndText, - showWidgets, - showThreading, - showTreeView, - showTable, - showAudio, - showDragAndDrop, - showOpenGL, - showQuicktime, - showCamera, - showWebBrowser, - showInterprocessComms, - showSourceCode, - setDefaultLookAndFeel, - setOldSchoolLookAndFeel, - useNativeTitleBar -#if JUCE_MAC - , useNativeMenus -#endif - -#if ! JUCE_LINUX - , goToKioskMode -#endif - }; - - commands.addArray (ids, numElementsInArray (ids)); - } - - // This method is used when something needs to find out the details about one of the commands - // that this object can perform.. - void getCommandInfo (const CommandID commandID, ApplicationCommandInfo& result) - { - const String generalCategory (T("General")); - const String demosCategory (T("Demos")); - - switch (commandID) - { - case showPathsAndTransforms: - result.setInfo (T("Paths and Transforms"), T("Shows the paths & transforms demo"), demosCategory, 0); - result.setTicked (currentDemoId == showPathsAndTransforms); - result.addDefaultKeypress (T('1'), ModifierKeys::commandModifier); - break; - - case showFontsAndText: - result.setInfo (T("Fonts and Text"), T("Shows the fonts & text demo"), demosCategory, 0); - result.setTicked (currentDemoId == showFontsAndText); - result.addDefaultKeypress (T('2'), ModifierKeys::commandModifier); - break; - - case showWidgets: - result.setInfo (T("Widgets"), T("Shows the widgets demo"), demosCategory, 0); - result.setTicked (currentDemoId == showWidgets); - result.addDefaultKeypress (T('3'), ModifierKeys::commandModifier); - break; - - case showThreading: - result.setInfo (T("Multithreading"), T("Shows the threading demo"), demosCategory, 0); - result.setTicked (currentDemoId == showThreading); - result.addDefaultKeypress (T('4'), ModifierKeys::commandModifier); - break; - - case showTreeView: - result.setInfo (T("Treeviews"), T("Shows the treeviews demo"), demosCategory, 0); - result.setTicked (currentDemoId == showTreeView); - result.addDefaultKeypress (T('5'), ModifierKeys::commandModifier); - break; - - case showTable: - result.setInfo (T("Table Components"), T("Shows the table component demo"), demosCategory, 0); - result.setTicked (currentDemoId == showTable); - result.addDefaultKeypress (T('6'), ModifierKeys::commandModifier); - break; - - case showAudio: - result.setInfo (T("Audio"), T("Shows the audio demo"), demosCategory, 0); - result.setTicked (currentDemoId == showAudio); - result.addDefaultKeypress (T('7'), ModifierKeys::commandModifier); - break; - - case showDragAndDrop: - result.setInfo (T("Drag-and-drop"), T("Shows the drag & drop demo"), demosCategory, 0); - result.setTicked (currentDemoId == showDragAndDrop); - result.addDefaultKeypress (T('8'), ModifierKeys::commandModifier); - break; - - case showOpenGL: - result.setInfo (T("OpenGL"), T("Shows the OpenGL demo"), demosCategory, 0); - result.addDefaultKeypress (T('9'), ModifierKeys::commandModifier); - result.setTicked (currentDemoId == showOpenGL); -#if ! JUCE_OPENGL - result.setActive (false); -#endif - break; - - case showQuicktime: - result.setInfo (T("Quicktime"), T("Shows the Quicktime demo"), demosCategory, 0); - result.addDefaultKeypress (T('b'), ModifierKeys::commandModifier); - result.setTicked (currentDemoId == showQuicktime); -#if ! (JUCE_QUICKTIME && ! JUCE_LINUX) - result.setActive (false); -#endif - break; - - case showCamera: - result.setInfo (T("Camera Capture"), T("Shows the camera demo"), demosCategory, 0); - result.addDefaultKeypress (T('c'), ModifierKeys::commandModifier); - result.setTicked (currentDemoId == showCamera); -#if ! JUCE_USE_CAMERA - result.setActive (false); -#endif - break; - - case showWebBrowser: - result.setInfo (T("Web Browser"), T("Shows the web browser demo"), demosCategory, 0); - result.addDefaultKeypress (T('i'), ModifierKeys::commandModifier); - result.setTicked (currentDemoId == showWebBrowser); -#if (! JUCE_WEB_BROWSER) || JUCE_LINUX - result.setActive (false); -#endif - break; - - case showInterprocessComms: - result.setInfo (T("Interprocess Comms"), T("Shows the interprocess communications demo"), demosCategory, 0); - result.addDefaultKeypress (T('0'), ModifierKeys::commandModifier); - result.setTicked (currentDemoId == showInterprocessComms); - break; - - case showSourceCode: - result.setInfo (T("Show the source code for this demo"), T("Opens a window containing this demo's source code"), generalCategory, 0); - result.addDefaultKeypress (T('s'), ModifierKeys::commandModifier); - break; - - case setDefaultLookAndFeel: - result.setInfo (T("Use default look-and-feel"), String::empty, generalCategory, 0); - result.setTicked ((typeid (LookAndFeel) == typeid (getLookAndFeel())) != 0); - break; - - case setOldSchoolLookAndFeel: - result.setInfo (T("Use the old, original juce look-and-feel"), String::empty, generalCategory, 0); - result.setTicked ((typeid (OldSchoolLookAndFeel) == typeid (getLookAndFeel())) != 0); - break; - - case useNativeTitleBar: - result.setInfo (T("Use native window title bar"), String::empty, generalCategory, 0); - result.setTicked (mainWindow->isUsingNativeTitleBar()); - break; - -#if JUCE_MAC - case useNativeMenus: - result.setInfo (T("Use the native OSX menu bar"), String::empty, generalCategory, 0); - result.setTicked (MenuBarModel::getMacMainMenu() != 0); - break; -#endif - -#if ! JUCE_LINUX - case goToKioskMode: - result.setInfo (T("Show full-screen kiosk mode"), String::empty, generalCategory, 0); - result.setTicked (Desktop::getInstance().getKioskModeComponent() != 0); - break; -#endif - - default: - break; - }; - } - - // this is the ApplicationCommandTarget method that is used to actually perform one of our commands.. - bool perform (const InvocationInfo& info) - { - switch (info.commandID) - { - case showPathsAndTransforms: - showDemo (createPathsAndTransformsDemo(), BinaryData::pathsandtransformsdemo_cpp); - currentDemoId = showPathsAndTransforms; - break; - - case showFontsAndText: - showDemo (createFontsAndTextDemo(), BinaryData::fontsandtextdemo_cpp); - currentDemoId = showFontsAndText; - break; - - case showWidgets: - showDemo (createWidgetsDemo (mainWindow->commandManager), BinaryData::widgetsdemo_cpp); - currentDemoId = showWidgets; - break; - - case showThreading: - showDemo (createThreadingDemo(), BinaryData::threadingdemo_cpp); - currentDemoId = showThreading; - break; - - case showTreeView: - showDemo (createTreeViewDemo(), BinaryData::treeviewdemo_cpp); - currentDemoId = showTreeView; - break; - - case showTable: - showDemo (createTableDemo(), BinaryData::tabledemo_cpp); - currentDemoId = showTable; - break; - - case showAudio: - showDemo (createAudioDemo(), BinaryData::audiodemo_cpp); - currentDemoId = showAudio; - break; - - case showDragAndDrop: - showDemo (createDragAndDropDemo(), BinaryData::draganddropdemo_cpp); - currentDemoId = showDragAndDrop; - break; - - case showOpenGL: -#if JUCE_OPENGL - showDemo (createOpenGLDemo(), BinaryData::opengldemo_cpp); - currentDemoId = showOpenGL; -#endif - break; - - case showQuicktime: -#if JUCE_QUICKTIME && ! JUCE_LINUX - showDemo (createQuickTimeDemo(), BinaryData::quicktimedemo_cpp); - currentDemoId = showQuicktime; -#endif - break; - - case showCamera: -#if JUCE_USE_CAMERA - showDemo (createCameraDemo(), BinaryData::camerademo_cpp); - currentDemoId = showCamera; -#endif - break; - - case showWebBrowser: -#if JUCE_WEB_BROWSER - showDemo (createWebBrowserDemo(), BinaryData::webbrowserdemo_cpp); - currentDemoId = showWebBrowser; -#endif - break; - - case showInterprocessComms: - showDemo (createInterprocessCommsDemo(), BinaryData::interprocesscommsdemo_cpp); - currentDemoId = showInterprocessComms; - break; - - case showSourceCode: - showSource(); - break; - - case setDefaultLookAndFeel: - LookAndFeel::setDefaultLookAndFeel (0); - break; - - case setOldSchoolLookAndFeel: - LookAndFeel::setDefaultLookAndFeel (&oldLookAndFeel); - break; - - case useNativeTitleBar: - mainWindow->setUsingNativeTitleBar (! mainWindow->isUsingNativeTitleBar()); - break; - -#if JUCE_MAC - case useNativeMenus: - if (MenuBarModel::getMacMainMenu() != 0) - { - MenuBarModel::setMacMainMenu (0); - mainWindow->setMenuBar ((ContentComp*) mainWindow->getContentComponent()); - } - else - { - MenuBarModel::setMacMainMenu ((ContentComp*) mainWindow->getContentComponent()); - mainWindow->setMenuBar (0); - } - - break; -#endif - -#if ! JUCE_LINUX - case goToKioskMode: - if (Desktop::getInstance().getKioskModeComponent() == 0) - { - Desktop::getInstance().setKioskModeComponent (getTopLevelComponent()); - } - else - { - Desktop::getInstance().setKioskModeComponent (0); - } - - break; -#endif - - default: - return false; - }; - - return true; - } - - juce_UseDebuggingNewOperator -}; - -//============================================================================== -#if JUCE_WIN32 || JUCE_LINUX - -// Just add a simple icon to the Window system tray area.. -class DemoTaskbarComponent : public SystemTrayIconComponent -{ -public: - DemoTaskbarComponent() - { - // Create an icon which is just a square with a "j" in it.. - Image icon (Image::RGB, 32, 32, true); - Graphics g (icon); - g.fillAll (Colours::lightblue); - g.setColour (Colours::black); - g.setFont ((float) icon.getHeight(), Font::bold); - g.drawText (T("j"), 0, 0, icon.getWidth(), icon.getHeight(), Justification::centred, false); - - setIconImage (icon); - - setIconTooltip (T("Juce Demo App!")); - } - - ~DemoTaskbarComponent() - { - } - - void mouseDown (const MouseEvent& e) - { - PopupMenu m; - m.addItem (1, T("Quit the Juce demo")); - - const int result = m.show(); - - if (result == 1) - JUCEApplication::getInstance()->systemRequestedQuit(); - } -}; - -#endif - -//============================================================================== -MainDemoWindow::MainDemoWindow() - : DocumentWindow (T("JUCE Demo!"), - Colours::azure, - DocumentWindow::allButtons, - true) -{ - commandManager = new ApplicationCommandManager(); - - setResizable (true, false); // resizability is a property of ResizableWindow - setResizeLimits (400, 300, 8192, 8192); - - ContentComp* contentComp = new ContentComp (this); - - commandManager->registerAllCommandsForTarget (contentComp); - commandManager->registerAllCommandsForTarget (JUCEApplication::getInstance()); - - // this lets the command manager use keypresses that arrive in our window to send - // out commands - addKeyListener (commandManager->getKeyMappings()); - - // sets the main content component for the window to be this tabbed - // panel. This will be deleted when the window is deleted. - setContentComponent (contentComp); - - // this tells the DocumentWindow to automatically create and manage a MenuBarComponent - // which uses our contentComp as its MenuBarModel - setMenuBar (contentComp); - - // tells our menu bar model that it should watch this command manager for - // changes, and send change messages accordingly. - contentComp->setApplicationCommandManagerToWatch (commandManager); - - setVisible (true); - -#if JUCE_WIN32 || JUCE_LINUX - taskbarIcon = new DemoTaskbarComponent(); -#endif -} - -MainDemoWindow::~MainDemoWindow() -{ -#if JUCE_WIN32 || JUCE_LINUX - deleteAndZero (taskbarIcon); -#endif - - // because we've set the content comp to be used as our menu bar model, we - // have to switch this off before deleting the content comp.. - setMenuBar (0); - -#if JUCE_MAC // ..and also the main bar if we're using that on a Mac... - MenuBarModel::setMacMainMenu (0); -#endif - - // setting our content component to 0 will delete the current one, and - // that will in turn delete all its child components. You don't always - // have to do this explicitly, because the base class's destructor will - // also delete the content component, but in this case we need to - // make sure our content comp has gone away before deleting our command - // manager. - setContentComponent (0, true); - - delete commandManager; -} - -void MainDemoWindow::closeButtonPressed() -{ - // The correct thing to do when you want the app to quit is to call the - // JUCEApplication::systemRequestedQuit() method. - - // That means that requests to quit that come from your own UI, or from other - // OS-specific sources (e.g. the dock menu on the mac) all get handled in the - // same way. - - JUCEApplication::getInstance()->systemRequestedQuit(); -} +/* + ============================================================================== + + This file is part of the JUCE library - "Jules' Utility Class Extensions" + Copyright 2004-7 by Raw Material Software ltd. + + ------------------------------------------------------------------------------ + + JUCE can be redistributed and/or modified under the terms of the + GNU General Public License, as published by the Free Software Foundation; + either version 2 of the License, or (at your option) any later version. + + 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. + + You should have received a copy of the GNU General Public License + along with JUCE; if not, visit www.gnu.org/licenses or write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + ------------------------------------------------------------------------------ + + If you'd like to release a closed-source product which uses JUCE, commercial + licenses are also available: visit www.rawmaterialsoftware.com/juce for + more information. + + ============================================================================== +*/ + +#include "jucedemo_headers.h" +#include "MainDemoWindow.h" + + +//============================================================================== +class SourceCodeWindow; +static SourceCodeWindow* sourceWindow = 0; + + +//============================================================================== +class SourceCodeWindow : public DialogWindow +{ + TextEditor* textBox; + +public: + SourceCodeWindow() + : DialogWindow (T("JUCE Demo Source Code!"), + Colours::floralwhite, + false) + { + setContentComponent (textBox = new TextEditor()); + + textBox->setColour (TextEditor::backgroundColourId, Colours::white); + textBox->setMultiLine (true, false); + textBox->setReturnKeyStartsNewLine (true); + + setResizable (true, true); // we'll choose a corner-resizer component for this window, + // as a contrast to the resizable border on the main window + } + + ~SourceCodeWindow() + { + // the text editor gets deleted automatically because it's the + // window's content component. + + sourceWindow = 0; + } + + void closeButtonPressed() + { + delete this; + } + + void updateSourceCode (const String& text) + { + Font font (14.0f); + font.setTypefaceName (Font::getDefaultMonospacedFontName()); + textBox->setFont (font); + + textBox->setText (text); + + toFront (true); + } +}; + +//============================================================================== +class ContentComp : public Component, + public MenuBarModel, + public ApplicationCommandTarget +{ + //============================================================================== + MainDemoWindow* mainWindow; + + OldSchoolLookAndFeel oldLookAndFeel; + + Component* currentDemo; + int currentDemoId; + const char* demoSourceCodeText; + + TooltipWindow tooltipWindow; // to add tooltips to an application, you + // just need to create one of these and leave it + // there to do its work.. + + enum CommandIDs + { + showPathsAndTransforms = 0x2000, + showFontsAndText = 0x2001, + showWidgets = 0x2002, + showThreading = 0x2003, + showTreeView = 0x2004, + showAudio = 0x2005, + showDragAndDrop = 0x2006, + showOpenGL = 0x2007, + showQuicktime = 0x2008, + showInterprocessComms = 0x2009, + showTable = 0x2010, + showCamera = 0x2011, + showWebBrowser = 0x2012, + + showSourceCode = 0x200a, + + setDefaultLookAndFeel = 0x200b, + setOldSchoolLookAndFeel = 0x200c, + useNativeTitleBar = 0x200d, + useNativeMenus = 0x200e, + goToKioskMode = 0x200f + }; + +public: + //============================================================================== + ContentComp (MainDemoWindow* mainWindow_) + : mainWindow (mainWindow_), + currentDemo (0), + currentDemoId (0), + demoSourceCodeText (0) + { + invokeDirectly (showPathsAndTransforms, true); + } + + ~ContentComp() + { + // (need to do this because the old school look-and-feel object is one of our members, + // so will be deleted with us, and would leave a dangling pointer if it's selected) + LookAndFeel::setDefaultLookAndFeel (0); + + deleteAllChildren(); + + deleteAndZero (sourceWindow); + } + + //============================================================================== + void resized() + { + if (currentDemo != 0) + currentDemo->setBounds (0, 0, getWidth(), getHeight()); + } + + //============================================================================== + void showDemo (Component* demoComp, const char* sourceCodeText) + { + delete currentDemo; + currentDemo = demoComp; + + addAndMakeVisible (currentDemo); + resized(); + + demoSourceCodeText = sourceCodeText; + } + + void showSource() + { + if (sourceWindow == 0) + { + sourceWindow = new SourceCodeWindow(); + sourceWindow->centreAroundComponent (this, 750, 600); + sourceWindow->setVisible (true); + } + + sourceWindow->updateSourceCode (demoSourceCodeText); + } + + //============================================================================== + const StringArray getMenuBarNames() + { + const tchar* const names[] = { T("Demo"), T("Source Code"), T("Look-and-feel"), 0 }; + + return StringArray ((const tchar**) names); + } + + const PopupMenu getMenuForIndex (int menuIndex, + const String& menuName) + { + ApplicationCommandManager* const commandManager = mainWindow->commandManager; + + PopupMenu menu; + + if (menuIndex == 0) + { + menu.addCommandItem (commandManager, showPathsAndTransforms); + menu.addCommandItem (commandManager, showFontsAndText); + menu.addCommandItem (commandManager, showWidgets); + menu.addCommandItem (commandManager, showThreading); + menu.addCommandItem (commandManager, showTreeView); + menu.addCommandItem (commandManager, showTable); + menu.addCommandItem (commandManager, showAudio); + menu.addCommandItem (commandManager, showDragAndDrop); + menu.addCommandItem (commandManager, showOpenGL); + menu.addCommandItem (commandManager, showQuicktime); + menu.addCommandItem (commandManager, showInterprocessComms); + menu.addCommandItem (commandManager, showCamera); + menu.addCommandItem (commandManager, showWebBrowser); + + menu.addSeparator(); + menu.addCommandItem (commandManager, StandardApplicationCommandIDs::quit); + } + else if (menuIndex == 1) + { + menu.addCommandItem (commandManager, showSourceCode); + } + else if (menuIndex == 2) + { + menu.addCommandItem (commandManager, setDefaultLookAndFeel); + menu.addCommandItem (commandManager, setOldSchoolLookAndFeel); + menu.addSeparator(); + menu.addCommandItem (commandManager, useNativeTitleBar); + +#if JUCE_MAC + menu.addCommandItem (commandManager, useNativeMenus); +#endif + +#if ! JUCE_LINUX + menu.addCommandItem (commandManager, goToKioskMode); +#endif + } + + return menu; + } + + void menuItemSelected (int menuItemID, + int topLevelMenuIndex) + { + // all our menu items are invoked automatically as commands, so no need to do + // anything in this callback + } + + //============================================================================== + // The following methods implement the ApplicationCommandTarget interface, allowing + // this window to publish a set of actions it can perform, and which can be mapped + // onto menus, keypresses, etc. + + ApplicationCommandTarget* getNextCommandTarget() + { + // this will return the next parent component that is an ApplicationCommandTarget (in this + // case, there probably isn't one, but it's best to use this method in your own apps). + return findFirstTargetParentComponent(); + } + + void getAllCommands (Array & commands) + { + // this returns the set of all commands that this target can perform.. + const CommandID ids[] = { showPathsAndTransforms, + showFontsAndText, + showWidgets, + showThreading, + showTreeView, + showTable, + showAudio, + showDragAndDrop, + showOpenGL, + showQuicktime, + showCamera, + showWebBrowser, + showInterprocessComms, + showSourceCode, + setDefaultLookAndFeel, + setOldSchoolLookAndFeel, + useNativeTitleBar +#if JUCE_MAC + , useNativeMenus +#endif + +#if ! JUCE_LINUX + , goToKioskMode +#endif + }; + + commands.addArray (ids, numElementsInArray (ids)); + } + + // This method is used when something needs to find out the details about one of the commands + // that this object can perform.. + void getCommandInfo (const CommandID commandID, ApplicationCommandInfo& result) + { + const String generalCategory (T("General")); + const String demosCategory (T("Demos")); + + switch (commandID) + { + case showPathsAndTransforms: + result.setInfo (T("Paths and Transforms"), T("Shows the paths & transforms demo"), demosCategory, 0); + result.setTicked (currentDemoId == showPathsAndTransforms); + result.addDefaultKeypress (T('1'), ModifierKeys::commandModifier); + break; + + case showFontsAndText: + result.setInfo (T("Fonts and Text"), T("Shows the fonts & text demo"), demosCategory, 0); + result.setTicked (currentDemoId == showFontsAndText); + result.addDefaultKeypress (T('2'), ModifierKeys::commandModifier); + break; + + case showWidgets: + result.setInfo (T("Widgets"), T("Shows the widgets demo"), demosCategory, 0); + result.setTicked (currentDemoId == showWidgets); + result.addDefaultKeypress (T('3'), ModifierKeys::commandModifier); + break; + + case showThreading: + result.setInfo (T("Multithreading"), T("Shows the threading demo"), demosCategory, 0); + result.setTicked (currentDemoId == showThreading); + result.addDefaultKeypress (T('4'), ModifierKeys::commandModifier); + break; + + case showTreeView: + result.setInfo (T("Treeviews"), T("Shows the treeviews demo"), demosCategory, 0); + result.setTicked (currentDemoId == showTreeView); + result.addDefaultKeypress (T('5'), ModifierKeys::commandModifier); + break; + + case showTable: + result.setInfo (T("Table Components"), T("Shows the table component demo"), demosCategory, 0); + result.setTicked (currentDemoId == showTable); + result.addDefaultKeypress (T('6'), ModifierKeys::commandModifier); + break; + + case showAudio: + result.setInfo (T("Audio"), T("Shows the audio demo"), demosCategory, 0); + result.setTicked (currentDemoId == showAudio); + result.addDefaultKeypress (T('7'), ModifierKeys::commandModifier); + break; + + case showDragAndDrop: + result.setInfo (T("Drag-and-drop"), T("Shows the drag & drop demo"), demosCategory, 0); + result.setTicked (currentDemoId == showDragAndDrop); + result.addDefaultKeypress (T('8'), ModifierKeys::commandModifier); + break; + + case showOpenGL: + result.setInfo (T("OpenGL"), T("Shows the OpenGL demo"), demosCategory, 0); + result.addDefaultKeypress (T('9'), ModifierKeys::commandModifier); + result.setTicked (currentDemoId == showOpenGL); +#if ! JUCE_OPENGL + result.setActive (false); +#endif + break; + + case showQuicktime: + result.setInfo (T("Quicktime"), T("Shows the Quicktime demo"), demosCategory, 0); + result.addDefaultKeypress (T('b'), ModifierKeys::commandModifier); + result.setTicked (currentDemoId == showQuicktime); +#if ! (JUCE_QUICKTIME && ! JUCE_LINUX) + result.setActive (false); +#endif + break; + + case showCamera: + result.setInfo (T("Camera Capture"), T("Shows the camera demo"), demosCategory, 0); + result.addDefaultKeypress (T('c'), ModifierKeys::commandModifier); + result.setTicked (currentDemoId == showCamera); +#if ! JUCE_USE_CAMERA + result.setActive (false); +#endif + break; + + case showWebBrowser: + result.setInfo (T("Web Browser"), T("Shows the web browser demo"), demosCategory, 0); + result.addDefaultKeypress (T('i'), ModifierKeys::commandModifier); + result.setTicked (currentDemoId == showWebBrowser); +#if (! JUCE_WEB_BROWSER) || JUCE_LINUX + result.setActive (false); +#endif + break; + + case showInterprocessComms: + result.setInfo (T("Interprocess Comms"), T("Shows the interprocess communications demo"), demosCategory, 0); + result.addDefaultKeypress (T('0'), ModifierKeys::commandModifier); + result.setTicked (currentDemoId == showInterprocessComms); + break; + + case showSourceCode: + result.setInfo (T("Show the source code for this demo"), T("Opens a window containing this demo's source code"), generalCategory, 0); + result.addDefaultKeypress (T('s'), ModifierKeys::commandModifier); + break; + + case setDefaultLookAndFeel: + result.setInfo (T("Use default look-and-feel"), String::empty, generalCategory, 0); + result.setTicked ((typeid (LookAndFeel) == typeid (getLookAndFeel())) != 0); + break; + + case setOldSchoolLookAndFeel: + result.setInfo (T("Use the old, original juce look-and-feel"), String::empty, generalCategory, 0); + result.setTicked ((typeid (OldSchoolLookAndFeel) == typeid (getLookAndFeel())) != 0); + break; + + case useNativeTitleBar: + result.setInfo (T("Use native window title bar"), String::empty, generalCategory, 0); + result.setTicked (mainWindow->isUsingNativeTitleBar()); + break; + +#if JUCE_MAC + case useNativeMenus: + result.setInfo (T("Use the native OSX menu bar"), String::empty, generalCategory, 0); + result.setTicked (MenuBarModel::getMacMainMenu() != 0); + break; +#endif + +#if ! JUCE_LINUX + case goToKioskMode: + result.setInfo (T("Show full-screen kiosk mode"), String::empty, generalCategory, 0); + result.setTicked (Desktop::getInstance().getKioskModeComponent() != 0); + break; +#endif + + default: + break; + }; + } + + // this is the ApplicationCommandTarget method that is used to actually perform one of our commands.. + bool perform (const InvocationInfo& info) + { + switch (info.commandID) + { + case showPathsAndTransforms: + showDemo (createPathsAndTransformsDemo(), BinaryData::pathsandtransformsdemo_cpp); + currentDemoId = showPathsAndTransforms; + break; + + case showFontsAndText: + showDemo (createFontsAndTextDemo(), BinaryData::fontsandtextdemo_cpp); + currentDemoId = showFontsAndText; + break; + + case showWidgets: + showDemo (createWidgetsDemo (mainWindow->commandManager), BinaryData::widgetsdemo_cpp); + currentDemoId = showWidgets; + break; + + case showThreading: + showDemo (createThreadingDemo(), BinaryData::threadingdemo_cpp); + currentDemoId = showThreading; + break; + + case showTreeView: + showDemo (createTreeViewDemo(), BinaryData::treeviewdemo_cpp); + currentDemoId = showTreeView; + break; + + case showTable: + showDemo (createTableDemo(), BinaryData::tabledemo_cpp); + currentDemoId = showTable; + break; + + case showAudio: + showDemo (createAudioDemo(), BinaryData::audiodemo_cpp); + currentDemoId = showAudio; + break; + + case showDragAndDrop: + showDemo (createDragAndDropDemo(), BinaryData::draganddropdemo_cpp); + currentDemoId = showDragAndDrop; + break; + + case showOpenGL: +#if JUCE_OPENGL + showDemo (createOpenGLDemo(), BinaryData::opengldemo_cpp); + currentDemoId = showOpenGL; +#endif + break; + + case showQuicktime: +#if JUCE_QUICKTIME && ! JUCE_LINUX + showDemo (createQuickTimeDemo(), BinaryData::quicktimedemo_cpp); + currentDemoId = showQuicktime; +#endif + break; + + case showCamera: +#if JUCE_USE_CAMERA + showDemo (createCameraDemo(), BinaryData::camerademo_cpp); + currentDemoId = showCamera; +#endif + break; + + case showWebBrowser: +#if JUCE_WEB_BROWSER + showDemo (createWebBrowserDemo(), BinaryData::webbrowserdemo_cpp); + currentDemoId = showWebBrowser; +#endif + break; + + case showInterprocessComms: + showDemo (createInterprocessCommsDemo(), BinaryData::interprocesscommsdemo_cpp); + currentDemoId = showInterprocessComms; + break; + + case showSourceCode: + showSource(); + break; + + case setDefaultLookAndFeel: + LookAndFeel::setDefaultLookAndFeel (0); + break; + + case setOldSchoolLookAndFeel: + LookAndFeel::setDefaultLookAndFeel (&oldLookAndFeel); + break; + + case useNativeTitleBar: + mainWindow->setUsingNativeTitleBar (! mainWindow->isUsingNativeTitleBar()); + break; + +#if JUCE_MAC + case useNativeMenus: + if (MenuBarModel::getMacMainMenu() != 0) + { + MenuBarModel::setMacMainMenu (0); + mainWindow->setMenuBar ((ContentComp*) mainWindow->getContentComponent()); + } + else + { + MenuBarModel::setMacMainMenu ((ContentComp*) mainWindow->getContentComponent()); + mainWindow->setMenuBar (0); + } + + break; +#endif + +#if ! JUCE_LINUX + case goToKioskMode: + if (Desktop::getInstance().getKioskModeComponent() == 0) + { + Desktop::getInstance().setKioskModeComponent (getTopLevelComponent()); + } + else + { + Desktop::getInstance().setKioskModeComponent (0); + } + + break; +#endif + + default: + return false; + }; + + return true; + } + + juce_UseDebuggingNewOperator +}; + +//============================================================================== +#if JUCE_WIN32 || JUCE_LINUX + +// Just add a simple icon to the Window system tray area.. +class DemoTaskbarComponent : public SystemTrayIconComponent +{ +public: + DemoTaskbarComponent() + { + // Create an icon which is just a square with a "j" in it.. + Image icon (Image::RGB, 32, 32, true); + Graphics g (icon); + g.fillAll (Colours::lightblue); + g.setColour (Colours::black); + g.setFont ((float) icon.getHeight(), Font::bold); + g.drawText (T("j"), 0, 0, icon.getWidth(), icon.getHeight(), Justification::centred, false); + + setIconImage (icon); + + setIconTooltip (T("Juce Demo App!")); + } + + ~DemoTaskbarComponent() + { + } + + void mouseDown (const MouseEvent& e) + { + PopupMenu m; + m.addItem (1, T("Quit the Juce demo")); + + const int result = m.show(); + + if (result == 1) + JUCEApplication::getInstance()->systemRequestedQuit(); + } +}; + +#endif + +//============================================================================== +MainDemoWindow::MainDemoWindow() + : DocumentWindow (T("JUCE Demo!"), + Colours::azure, + DocumentWindow::allButtons, + true) +{ + commandManager = new ApplicationCommandManager(); + + setResizable (true, false); // resizability is a property of ResizableWindow + setResizeLimits (400, 300, 8192, 8192); + + ContentComp* contentComp = new ContentComp (this); + + commandManager->registerAllCommandsForTarget (contentComp); + commandManager->registerAllCommandsForTarget (JUCEApplication::getInstance()); + + // this lets the command manager use keypresses that arrive in our window to send + // out commands + addKeyListener (commandManager->getKeyMappings()); + + // sets the main content component for the window to be this tabbed + // panel. This will be deleted when the window is deleted. + setContentComponent (contentComp); + + // this tells the DocumentWindow to automatically create and manage a MenuBarComponent + // which uses our contentComp as its MenuBarModel + setMenuBar (contentComp); + + // tells our menu bar model that it should watch this command manager for + // changes, and send change messages accordingly. + contentComp->setApplicationCommandManagerToWatch (commandManager); + + setVisible (true); + +#if JUCE_WIN32 || JUCE_LINUX + taskbarIcon = new DemoTaskbarComponent(); +#endif +} + +MainDemoWindow::~MainDemoWindow() +{ +#if JUCE_WIN32 || JUCE_LINUX + deleteAndZero (taskbarIcon); +#endif + + // because we've set the content comp to be used as our menu bar model, we + // have to switch this off before deleting the content comp.. + setMenuBar (0); + +#if JUCE_MAC // ..and also the main bar if we're using that on a Mac... + MenuBarModel::setMacMainMenu (0); +#endif + + // setting our content component to 0 will delete the current one, and + // that will in turn delete all its child components. You don't always + // have to do this explicitly, because the base class's destructor will + // also delete the content component, but in this case we need to + // make sure our content comp has gone away before deleting our command + // manager. + setContentComponent (0, true); + + delete commandManager; +} + +void MainDemoWindow::closeButtonPressed() +{ + // The correct thing to do when you want the app to quit is to call the + // JUCEApplication::systemRequestedQuit() method. + + // That means that requests to quit that come from your own UI, or from other + // OS-specific sources (e.g. the dock menu on the mac) all get handled in the + // same way. + + JUCEApplication::getInstance()->systemRequestedQuit(); +} diff --git a/extras/juce demo/src/binarydata/WebBrowserDemo.cpp b/extras/juce demo/src/binarydata/WebBrowserDemo.cpp index 54020225e3..d0c0d4f8d0 100644 --- a/extras/juce demo/src/binarydata/WebBrowserDemo.cpp +++ b/extras/juce demo/src/binarydata/WebBrowserDemo.cpp @@ -1,33 +1,33 @@ /* - ============================================================================== - - This file is part of the JUCE library - "Jules' Utility Class Extensions" - Copyright 2004-7 by Raw Material Software ltd. - - ------------------------------------------------------------------------------ - - JUCE can be redistributed and/or modified under the terms of the - GNU General Public License, as published by the Free Software Foundation; - either version 2 of the License, or (at your option) any later version. - - 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. - - You should have received a copy of the GNU General Public License - along with JUCE; if not, visit www.gnu.org/licenses or write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - ------------------------------------------------------------------------------ - - If you'd like to release a closed-source product which uses JUCE, commercial - licenses are also available: visit www.rawmaterialsoftware.com/juce for - more information. - - ============================================================================== - */ + ============================================================================== + + This file is part of the JUCE library - "Jules' Utility Class Extensions" + Copyright 2004-7 by Raw Material Software ltd. + + ------------------------------------------------------------------------------ + + JUCE can be redistributed and/or modified under the terms of the + GNU General Public License, as published by the Free Software Foundation; + either version 2 of the License, or (at your option) any later version. + + 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. + + You should have received a copy of the GNU General Public License + along with JUCE; if not, visit www.gnu.org/licenses or write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + ------------------------------------------------------------------------------ + + If you'd like to release a closed-source product which uses JUCE, commercial + licenses are also available: visit www.rawmaterialsoftware.com/juce for + more information. + + ============================================================================== +*/ #include "../jucedemo_headers.h" @@ -117,7 +117,7 @@ public: void textEditorTextChanged (TextEditor& editor) {} void textEditorEscapeKeyPressed (TextEditor& editor) {} void textEditorFocusLost (TextEditor& editor) {} - + void textEditorReturnKeyPressed (TextEditor&) { webView->goToURL (addressTextBox->getText()); diff --git a/extras/juce demo/src/demos/WebBrowserDemo.cpp b/extras/juce demo/src/demos/WebBrowserDemo.cpp index 54020225e3..d0c0d4f8d0 100644 --- a/extras/juce demo/src/demos/WebBrowserDemo.cpp +++ b/extras/juce demo/src/demos/WebBrowserDemo.cpp @@ -1,33 +1,33 @@ /* - ============================================================================== - - This file is part of the JUCE library - "Jules' Utility Class Extensions" - Copyright 2004-7 by Raw Material Software ltd. - - ------------------------------------------------------------------------------ - - JUCE can be redistributed and/or modified under the terms of the - GNU General Public License, as published by the Free Software Foundation; - either version 2 of the License, or (at your option) any later version. - - 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. - - You should have received a copy of the GNU General Public License - along with JUCE; if not, visit www.gnu.org/licenses or write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - ------------------------------------------------------------------------------ - - If you'd like to release a closed-source product which uses JUCE, commercial - licenses are also available: visit www.rawmaterialsoftware.com/juce for - more information. - - ============================================================================== - */ + ============================================================================== + + This file is part of the JUCE library - "Jules' Utility Class Extensions" + Copyright 2004-7 by Raw Material Software ltd. + + ------------------------------------------------------------------------------ + + JUCE can be redistributed and/or modified under the terms of the + GNU General Public License, as published by the Free Software Foundation; + either version 2 of the License, or (at your option) any later version. + + 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. + + You should have received a copy of the GNU General Public License + along with JUCE; if not, visit www.gnu.org/licenses or write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + ------------------------------------------------------------------------------ + + If you'd like to release a closed-source product which uses JUCE, commercial + licenses are also available: visit www.rawmaterialsoftware.com/juce for + more information. + + ============================================================================== +*/ #include "../jucedemo_headers.h" @@ -117,7 +117,7 @@ public: void textEditorTextChanged (TextEditor& editor) {} void textEditorEscapeKeyPressed (TextEditor& editor) {} void textEditorFocusLost (TextEditor& editor) {} - + void textEditorReturnKeyPressed (TextEditor&) { webView->goToURL (addressTextBox->getText()); diff --git a/extras/juce demo/src/juce_AppConfig.h b/extras/juce demo/src/juce_AppConfig.h index 32408e74fe..b946c6e333 100644 --- a/extras/juce demo/src/juce_AppConfig.h +++ b/extras/juce demo/src/juce_AppConfig.h @@ -31,10 +31,17 @@ /* This file contains settings that you might want to explicitly apply to - the your build. + your Juce build. - Most of these are turned on or off by default, but you can override - that setting here by un-commenting it and giving it a 1 or 0 value. + These flags enable or disable juce features - if you're linking to juce as + a library, then to change them, you'd need to alter your juce_Config.h file and + recompile the juce lib. But because we're using the amalgamated file, you can + just include this file before including your juce_amalgamated.cpp file to + have the same effect. + + If you leave any of these commented-out, they'll take on the default value + assigned to them in juce_Config.h, so to force them on or off, just set them + to an explicit 0 or 1 in here. */ //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 diff --git a/extras/juce demo/src/jucedemo_headers.h b/extras/juce demo/src/jucedemo_headers.h index cf0a514a8f..c1b43d5c04 100644 --- a/extras/juce demo/src/jucedemo_headers.h +++ b/extras/juce demo/src/jucedemo_headers.h @@ -1,77 +1,77 @@ -/* - ============================================================================== - - This file is part of the JUCE library - "Jules' Utility Class Extensions" - Copyright 2004-7 by Raw Material Software ltd. - - ------------------------------------------------------------------------------ - - JUCE can be redistributed and/or modified under the terms of the - GNU General Public License, as published by the Free Software Foundation; - either version 2 of the License, or (at your option) any later version. - - 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. - - You should have received a copy of the GNU General Public License - along with JUCE; if not, visit www.gnu.org/licenses or write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - ------------------------------------------------------------------------------ - - If you'd like to release a closed-source product which uses JUCE, commercial - licenses are also available: visit www.rawmaterialsoftware.com/juce for - more information. - - ============================================================================== -*/ - -#ifndef __JUCEDEMO_HEADERS_JUCEHEADER__ -#define __JUCEDEMO_HEADERS_JUCEHEADER__ - -// include the JUCE headers.. -#include "juce_AppConfig.h" - -#if (defined(_MSC_VER) && (_MSC_VER <= 1200)) - // (in VC6, there are problems with the amalgamated version...) - #include "../../../juce.h" -#else - #include "../../../juce_amalgamated.h" -#endif - -// this declares the binary resources that we're building into the -// application - i.e. images, sounds, etc that the demos use -#include "BinaryData.h" - -// Pre-declare the functions that create each of the demo components.. -Component* createFontsAndTextDemo(); -Component* createPathsAndTransformsDemo(); -Component* createWidgetsDemo (ApplicationCommandManager* commandManager); -Component* createThreadingDemo(); -Component* createTreeViewDemo(); -Component* createTableDemo(); -Component* createAudioDemo(); -Component* createDragAndDropDemo(); -Component* createInterprocessCommsDemo(); - -#if JUCE_QUICKTIME && ! JUCE_LINUX - Component* createQuickTimeDemo(); -#endif - -#if JUCE_OPENGL - Component* createOpenGLDemo(); -#endif - -#if JUCE_WEB_BROWSER - Component* createWebBrowserDemo(); -#endif - -#if JUCE_USE_CAMERA - Component* createCameraDemo(); -#endif - - -#endif // __JUCEDEMO_HEADERS_JUCEHEADER__ +/* + ============================================================================== + + This file is part of the JUCE library - "Jules' Utility Class Extensions" + Copyright 2004-7 by Raw Material Software ltd. + + ------------------------------------------------------------------------------ + + JUCE can be redistributed and/or modified under the terms of the + GNU General Public License, as published by the Free Software Foundation; + either version 2 of the License, or (at your option) any later version. + + 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. + + You should have received a copy of the GNU General Public License + along with JUCE; if not, visit www.gnu.org/licenses or write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + ------------------------------------------------------------------------------ + + If you'd like to release a closed-source product which uses JUCE, commercial + licenses are also available: visit www.rawmaterialsoftware.com/juce for + more information. + + ============================================================================== +*/ + +#ifndef __JUCEDEMO_HEADERS_JUCEHEADER__ +#define __JUCEDEMO_HEADERS_JUCEHEADER__ + +// include the JUCE headers.. +#include "juce_AppConfig.h" + +#if (defined(_MSC_VER) && (_MSC_VER <= 1200)) + // (in VC6, there are problems with the amalgamated version...) + #include "../../../juce.h" +#else + #include "../../../juce_amalgamated.h" +#endif + +// this declares the binary resources that we're building into the +// application - i.e. images, sounds, etc that the demos use +#include "BinaryData.h" + +// Pre-declare the functions that create each of the demo components.. +Component* createFontsAndTextDemo(); +Component* createPathsAndTransformsDemo(); +Component* createWidgetsDemo (ApplicationCommandManager* commandManager); +Component* createThreadingDemo(); +Component* createTreeViewDemo(); +Component* createTableDemo(); +Component* createAudioDemo(); +Component* createDragAndDropDemo(); +Component* createInterprocessCommsDemo(); + +#if JUCE_QUICKTIME && ! JUCE_LINUX + Component* createQuickTimeDemo(); +#endif + +#if JUCE_OPENGL + Component* createOpenGLDemo(); +#endif + +#if JUCE_WEB_BROWSER + Component* createWebBrowserDemo(); +#endif + +#if JUCE_USE_CAMERA + Component* createCameraDemo(); +#endif + + +#endif // __JUCEDEMO_HEADERS_JUCEHEADER__ diff --git a/extras/the jucer/build/linux/Jucer.make b/extras/the jucer/build/linux/Jucer.make index 63447a4359..4c1a2357bc 100644 --- a/extras/the jucer/build/linux/Jucer.make +++ b/extras/the jucer/build/linux/Jucer.make @@ -5,19 +5,22 @@ ifndef CONFIG CONFIG=Debug endif +# if multiple archs are defined turn off automated dependency generation +DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) + ifeq ($(CONFIG),Debug) BINDIR := build LIBDIR := build OBJDIR := build/intermediate/Debug OUTDIR := build - CPPFLAGS := -MMD -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -I "/usr/include" -I "/usr/include/freetype2" + CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -I "/usr/include" -I "/usr/include/freetype2" CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -D_DEBUG -ggdb - CXXFLAGS := $(CFLAGS) + CXXFLAGS += $(CFLAGS) LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -mwindows -L"/usr/X11R6/lib/" -L"../../../../bin" -lfreetype -lpthread -lX11 -lGL -lGLU -lXinerama -lasound LDDEPS := RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -I "/usr/include" -I "/usr/include/freetype2" TARGET := jucer - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) endif ifeq ($(CONFIG),Release) @@ -25,14 +28,14 @@ ifeq ($(CONFIG),Release) LIBDIR := build OBJDIR := build/intermediate/Release OUTDIR := build - CPPFLAGS := -MMD -D "LINUX=1" -D "NDEBUG=1" -I "/usr/include" -I "/usr/include/freetype2" + CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -I "/usr/include" -I "/usr/include/freetype2" CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O2 - CXXFLAGS := $(CFLAGS) + CXXFLAGS += $(CFLAGS) LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -mwindows -s -L"/usr/X11R6/lib/" -L"../../../../bin" -lfreetype -lpthread -lX11 -lGL -lGLU -lXinerama -lasound LDDEPS := RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -I "/usr/include" -I "/usr/include/freetype2" TARGET := jucer - BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) endif OBJECTS := \ @@ -55,18 +58,18 @@ OBJECTS := \ $(OBJDIR)/jucer_UtilityFunctions.o \ $(OBJDIR)/jucer_FilePropertyComponent.o \ $(OBJDIR)/jucer_FontPropertyComponent.o \ - $(OBJDIR)/jucer_BinaryResources.o \ $(OBJDIR)/jucer_ComponentLayout.o \ - $(OBJDIR)/jucer_GeneratedCode.o \ - $(OBJDIR)/jucer_JucerDocument.o \ + $(OBJDIR)/jucer_BinaryResources.o \ $(OBJDIR)/jucer_ObjectTypes.o \ $(OBJDIR)/jucer_PaintRoutine.o \ + $(OBJDIR)/jucer_GeneratedCode.o \ + $(OBJDIR)/jucer_JucerDocument.o \ $(OBJDIR)/jucer_ComponentTypeHandler.o \ $(OBJDIR)/jucer_ButtonDocument.o \ $(OBJDIR)/jucer_ComponentDocument.o \ $(OBJDIR)/jucer_ColouredElement.o \ - $(OBJDIR)/jucer_FillType.o \ $(OBJDIR)/jucer_PaintElement.o \ + $(OBJDIR)/jucer_FillType.o \ $(OBJDIR)/jucer_PaintElementPath.o \ $(OBJDIR)/jucer_StrokeType.o \ @@ -75,7 +78,7 @@ CMD := $(subst \,\\,$(ComSpec)$(COMSPEC)) ifeq (,$(CMD)) MKDIR_TYPE := posix endif -ifeq (/bin/sh.exe,$(SHELL)) +ifeq (/bin,$(findstring /bin,$(SHELL))) MKDIR_TYPE := posix endif ifeq ($(MKDIR_TYPE),posix) @@ -102,7 +105,8 @@ $(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES) clean: @echo Cleaning Jucer ifeq ($(MKDIR_TYPE),posix) - -@rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + -@rm -f $(OUTDIR)/$(TARGET) + -@rm -rf $(OBJDIR) else -@if exist $(subst /,\,$(OUTDIR)/$(TARGET)) del /q $(subst /,\,$(OUTDIR)/$(TARGET)) -@if exist $(subst /,\,$(OBJDIR)) del /q $(subst /,\,$(OBJDIR)) @@ -112,167 +116,167 @@ endif $(OBJDIR)/BinaryData.o: ../../src/BinaryData.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_Main.o: ../../src/jucer_Main.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/juce_LibrarySource.o: ../../src/juce_LibrarySource.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_ComponentLayoutEditor.o: ../../src/ui/jucer_ComponentLayoutEditor.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_ComponentLayoutPanel.o: ../../src/ui/jucer_ComponentLayoutPanel.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_ComponentOverlayComponent.o: ../../src/ui/jucer_ComponentOverlayComponent.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_EditingPanelBase.o: ../../src/ui/jucer_EditingPanelBase.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_JucerDocumentHolder.o: ../../src/ui/jucer_JucerDocumentHolder.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_MainWindow.o: ../../src/ui/jucer_MainWindow.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_PaintRoutineEditor.o: ../../src/ui/jucer_PaintRoutineEditor.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_PaintRoutinePanel.o: ../../src/ui/jucer_PaintRoutinePanel.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_PrefsPanel.o: ../../src/ui/jucer_PrefsPanel.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_ResourceEditorPanel.o: ../../src/ui/jucer_ResourceEditorPanel.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_SnapGridPainter.o: ../../src/ui/jucer_SnapGridPainter.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_TestComponent.o: ../../src/ui/jucer_TestComponent.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_StoredSettings.o: ../../src/utility/jucer_StoredSettings.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_UtilityFunctions.o: ../../src/utility/jucer_UtilityFunctions.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_FilePropertyComponent.o: ../../src/properties/jucer_FilePropertyComponent.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_FontPropertyComponent.o: ../../src/properties/jucer_FontPropertyComponent.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< - -$(OBJDIR)/jucer_BinaryResources.o: ../../src/model/jucer_BinaryResources.cpp - -@$(CMD_MKOBJDIR) - @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_ComponentLayout.o: ../../src/model/jucer_ComponentLayout.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -$(OBJDIR)/jucer_GeneratedCode.o: ../../src/model/jucer_GeneratedCode.cpp +$(OBJDIR)/jucer_BinaryResources.o: ../../src/model/jucer_BinaryResources.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< - -$(OBJDIR)/jucer_JucerDocument.o: ../../src/model/jucer_JucerDocument.cpp - -@$(CMD_MKOBJDIR) - @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_ObjectTypes.o: ../../src/model/jucer_ObjectTypes.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_PaintRoutine.o: ../../src/model/jucer_PaintRoutine.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/jucer_GeneratedCode.o: ../../src/model/jucer_GeneratedCode.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/jucer_JucerDocument.o: ../../src/model/jucer_JucerDocument.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_ComponentTypeHandler.o: ../../src/model/components/jucer_ComponentTypeHandler.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_ButtonDocument.o: ../../src/model/documents/jucer_ButtonDocument.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_ComponentDocument.o: ../../src/model/documents/jucer_ComponentDocument.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_ColouredElement.o: ../../src/model/paintelements/jucer_ColouredElement.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< - -$(OBJDIR)/jucer_FillType.o: ../../src/model/paintelements/jucer_FillType.cpp - -@$(CMD_MKOBJDIR) - @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_PaintElement.o: ../../src/model/paintelements/jucer_PaintElement.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +$(OBJDIR)/jucer_FillType.o: ../../src/model/paintelements/jucer_FillType.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_PaintElementPath.o: ../../src/model/paintelements/jucer_PaintElementPath.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" $(OBJDIR)/jucer_StrokeType.o: ../../src/model/paintelements/jucer_StrokeType.cpp -@$(CMD_MKOBJDIR) @echo $(notdir $<) - @$(CXX) $(CXXFLAGS) -o $@ -c $< + @$(CXX) $(CXXFLAGS) -o "$@" -c "$<" -include $(OBJECTS:%.o=%.d) diff --git a/extras/the jucer/src/juce_AppConfig.h b/extras/the jucer/src/juce_AppConfig.h index 330ec8f9da..15558f21c7 100644 --- a/extras/the jucer/src/juce_AppConfig.h +++ b/extras/the jucer/src/juce_AppConfig.h @@ -31,10 +31,17 @@ /* This file contains settings that you might want to explicitly apply to - the your build. + your Juce build. - Most of these are turned on or off by default, but you can override - that setting here by un-commenting it and giving it a 1 or 0 value. + These flags enable or disable juce features - if you're linking to juce as + a library, then to change them, you'd need to alter your juce_Config.h file and + recompile the juce lib. But because we're using the amalgamated file, you can + just include this file before including your juce_amalgamated.cpp file to + have the same effect. + + If you leave any of these commented-out, they'll take on the default value + assigned to them in juce_Config.h, so to force them on or off, just set them + to an explicit 0 or 1 in here. */ //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 diff --git a/extras/the jucer/src/juce_LibrarySource.cpp b/extras/the jucer/src/juce_LibrarySource.cpp index 6310476300..b447646246 100644 --- a/extras/the jucer/src/juce_LibrarySource.cpp +++ b/extras/the jucer/src/juce_LibrarySource.cpp @@ -9,4 +9,13 @@ */ #include "juce_AppConfig.h" + +// This is where all the juce code gets included, via this amalgamated file.. #include "../../../juce_amalgamated.cpp" + + +/* NB. A handy tip is that if you're doing a lot of debugging into the juce code, then stepping through + the amalgamated file can be slow or impossible for the debugger. But if you use the following line + instead of the one above, then it makes it a lot easier.. +*/ +//#include "../../../src/juce_amalgamated_template.cpp" diff --git a/juce_Config.h b/juce_Config.h index bea0ae2f0f..dec4999a98 100644 --- a/juce_Config.h +++ b/juce_Config.h @@ -30,7 +30,7 @@ */ #ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) +#define __JUCE_CONFIG_JUCEHEADER__ //============================================================================== /* diff --git a/juce_amalgamated.cpp b/juce_amalgamated.cpp index d148867c88..3f3291090c 100644 --- a/juce_amalgamated.cpp +++ b/juce_amalgamated.cpp @@ -46,7 +46,7 @@ /********* Start of inlined file: juce_Config.h *********/ #ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) +#define __JUCE_CONFIG_JUCEHEADER__ /* This file contains macros that enable/disable various JUCE features. @@ -252,6 +252,8 @@ #endif /********* End of inlined file: juce_Config.h *********/ + // FORCE_AMALGAMATOR_INCLUDE + //============================================================================== #ifdef _WIN32 @@ -260,214 +262,6 @@ #ifndef __JUCE_WIN32_NATIVEINCLUDES_JUCEHEADER__ #define __JUCE_WIN32_NATIVEINCLUDES_JUCEHEADER__ -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifndef STRICT #define STRICT 1 #endif @@ -642,7 +436,99 @@ public: /********* End of inlined file: juce_win32_NativeIncludes.h *********/ #elif defined (LINUX) - // + +/********* Start of inlined file: juce_linux_NativeIncludes.h *********/ +#ifndef __JUCE_LINUX_NATIVEINCLUDES_JUCEHEADER__ +#define __JUCE_LINUX_NATIVEINCLUDES_JUCEHEADER__ + +/* + This file wraps together all the linux-specific headers, so + that we can include them all just once, and compile all our + platform-specific stuff in one big lump, keeping it out of the + way of the rest of the codebase. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* Got a build error here? You'll need to install the freetype library... + The name of the package to install is "libfreetype6-dev". +*/ +#include +#include FT_FREETYPE_H + +#include +#include +#include +#include +#include +#include +#include + +#if JUCE_USE_XINERAMA + /* If you're trying to use Xinerama, you'll need to install the "libxinerama-dev" package.. */ + #include +#endif + +#if JUCE_USE_XSHM + #include + #include + #include +#endif + +#if JUCE_OPENGL + /* Got an include error here? + + If you want to install OpenGL support, the packages to get are "mesa-common-dev" + and "freeglut3-dev". + + Alternatively, you can turn off the JUCE_OPENGL flag in juce_Config.h if you + want to disable it. + */ + #include +#endif + +#undef KeyPress + +#if JUCE_ALSA + /* Got an include error here? If so, you've either not got ALSA installed, or you've + not got your paths set up correctly to find its header files. + + The package you need to install to get ASLA support is "libasound2-dev". + + If you don't have the ALSA library and don't want to build Juce with audio support, + just disable the JUCE_ALSA flag in juce_Config.h + */ + #include +#endif + +#undef SIZEOF + +#endif // __JUCE_LINUX_NATIVEINCLUDES_JUCEHEADER__ +/********* End of inlined file: juce_linux_NativeIncludes.h *********/ + #else /********* Start of inlined file: juce_mac_NativeIncludes.h *********/ @@ -19768,214 +19654,6 @@ END_JUCE_NAMESPACE /********* Start of inlined file: juce_QuickTimeAudioFormat.cpp *********/ -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #if JUCE_QUICKTIME #if ! defined (_WIN32) @@ -28683,214 +28361,6 @@ END_JUCE_NAMESPACE /********* Start of inlined file: juce_AudioUnitPluginFormat.mm *********/ -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #if JUCE_PLUGINHOST_AU && (! (defined (LINUX) || defined (_WIN32))) #include @@ -30366,214 +29836,6 @@ END_JUCE_NAMESPACE /********* Start of inlined file: juce_VSTPluginFormat.cpp *********/ -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #if JUCE_PLUGINHOST_VST #if (defined (_WIN32) || defined (_WIN64)) @@ -93201,7 +92463,7 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ #ifdef DEBUG # include extern int z_verbose; - extern void z_error OF((char *m)); + extern void z_error OF((const char *m)); # define Assert(cond,msg) {if(!(cond)) z_error(msg);} # define Trace(x) {if (z_verbose>=0) fprintf x ;} # define Tracev(x) {if (z_verbose>0) fprintf x ;} @@ -99744,7 +99006,7 @@ uLong ZEXPORT zlibCompileFlags() # endif int z_verbose = verbose; -void z_error (char *m) +void z_error (const char *m) { fprintf(stderr, "%s\n", m); exit(1); @@ -100173,214 +99435,6 @@ END_JUCE_NAMESPACE /********* Start of inlined file: juce_FlacAudioFormat.cpp *********/ -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #include #endif @@ -107399,214 +106453,6 @@ done1: // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -107759,214 +106605,6 @@ unsigned FLAC__bitmath_silog2_wide(FLAC__int64 v) // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -109464,214 +108102,6 @@ FLAC__bool FLAC__bitreader_read_utf8_uint64(FLAC__BitReader *br, FLAC__uint64 *v // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -110812,214 +109242,6 @@ FLAC__bool FLAC__bitwriter_zero_pad_to_byte_boundary(FLAC__BitWriter *bw) // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -111429,214 +109651,6 @@ void FLAC__cpu_info(FLAC__CPUInfo *info) // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -111770,214 +109784,6 @@ unsigned FLAC__crc16(const FLAC__byte *data, unsigned len) // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -112551,214 +110357,6 @@ void FLAC__fixed_restore_signal(const FLAC__int32 residual[], unsigned data_len, // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -113057,214 +110655,6 @@ FLAC__uint32 FLAC__fixedpoint_log2(FLAC__uint32 x, unsigned fracbits, unsigned p // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -113851,214 +111241,6 @@ FLAC__bool FLAC__format_entropy_coding_method_partitioned_rice_contents_ensure_s // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -115609,214 +112791,6 @@ unsigned FLAC__lpc_compute_best_order(const FLAC__double lpc_error[], unsigned m // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -116308,214 +113282,6 @@ FLAC__bool FLAC__MD5Accumulate(FLAC__MD5Context *ctx, const FLAC__int32 * const // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -116752,214 +113518,6 @@ FLAC__bool FLAC__memory_alloc_aligned_real_array(unsigned elements, FLAC__real * // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -120355,214 +116913,6 @@ FLAC__bool file_eof_callback_(const FLAC__StreamDecoder *decoder, void *client_d // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -125032,214 +121382,6 @@ FILE *get_binary_stdout_(void) // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -125784,214 +121926,6 @@ FLAC__bool add_residual_partitioned_rice_(FLAC__BitWriter *bw, const FLAC__int32 // This file is included at the start of each FLAC .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #define VERSION "1.2.1" #define FLAC__NO_DLL 1 @@ -126680,214 +122614,6 @@ END_JUCE_NAMESPACE /********* Start of inlined file: juce_OggVorbisAudioFormat.cpp *********/ -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #if JUCE_USE_OGGVORBIS #if JUCE_MAC @@ -127371,7 +123097,7 @@ extern int vorbis_info_blocksize(vorbis_info *vi,int zo); extern void vorbis_comment_init(vorbis_comment *vc); extern void vorbis_comment_add(vorbis_comment *vc, char *comment); extern void vorbis_comment_add_tag(vorbis_comment *vc, - char *tag, char *contents); + const char *tag, char *contents); extern char *vorbis_comment_query(vorbis_comment *vc, char *tag, int count); extern int vorbis_comment_query_count(vorbis_comment *vc, char *tag); extern void vorbis_comment_clear(vorbis_comment *vc); @@ -127658,214 +123384,6 @@ extern int ov_halfrate_p(OggVorbis_File *vf); // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -128645,214 +124163,6 @@ int main(void){ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -130634,214 +125944,6 @@ int main(void){ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -131945,7 +127047,7 @@ int vorbis_analysis(vorbis_block *vb, ogg_packet *op){ } /* there was no great place to put this.... */ -void _analysis_output_always(char *base,int i,float *v,int n,int bark,int dB,ogg_int64_t off){ +void _analysis_output_always(const char *base,int i,float *v,int n,int bark,int dB,ogg_int64_t off){ int j; FILE *of; char buffer[80]; @@ -131995,214 +127097,6 @@ void _analysis_output(char *base,int i,float *v,int n,int bark,int dB, // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -132448,214 +127342,6 @@ int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd,ogg_packet *op){ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -133642,214 +128328,6 @@ float *vorbis_window(vorbis_dsp_state *v,int W){ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -134451,214 +128929,6 @@ int main(){ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -135025,214 +129295,6 @@ void _ve_envelope_shift(envelope_lookup *e,long shift){ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -135454,214 +129516,6 @@ vorbis_func_floor floor0_exportbundle={ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -136719,214 +130573,6 @@ vorbis_func_floor floor1_exportbundle={ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -136941,7 +130587,7 @@ vorbis_func_floor floor1_exportbundle={ #include #include -static void _v_writestring(oggpack_buffer *o,char *s, int bytes){ +static void _v_writestring(oggpack_buffer *o, const char *s, int bytes){ while(bytes--){ oggpack_write(o,*s++,8); @@ -136970,7 +130616,7 @@ void vorbis_comment_add(vorbis_comment *vc,char *comment){ vc->user_comments[vc->comments]=NULL; } -void vorbis_comment_add_tag(vorbis_comment *vc, char *tag, char *contents){ +void vorbis_comment_add_tag(vorbis_comment *vc, const char *tag, char *contents){ char *comment=(char*)alloca(strlen(tag)+strlen(contents)+2); /* +2 for = and \0 */ strcpy(comment, tag); strcat(comment, "="); @@ -137541,214 +131187,6 @@ Carsten Bormann // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -137869,214 +131307,6 @@ void vorbis_lpc_predict(float *coeff,float *prime,int m, // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -138128,214 +131358,6 @@ extern float vorbis_fromdBlook_i(long a); // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -138679,214 +131701,6 @@ void vorbis_lsp_to_curve(float *curve,int *map,int n,int ln,float *lsp,int m, // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -139509,214 +132323,6 @@ int vorbis_lpc_to_lsp(float *lpc,float *lsp,int m){ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -140545,214 +133151,6 @@ vorbis_func_mapping mapping0_exportbundle={ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -141289,214 +133687,6 @@ void mdct_forward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out){ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -143475,214 +135665,6 @@ void hf_reduction(vorbis_info_psy_global *g, // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -143728,214 +135710,6 @@ vorbis_func_mapping *_mapping_P[]={ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -144816,214 +136590,6 @@ vorbis_func_residue residue2_exportbundle={ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -145755,214 +137321,6 @@ int main(){ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -147201,214 +138559,6 @@ void drft_clear(drft_lookup *l){ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -147571,214 +138721,6 @@ int vorbis_synthesis_halfrate_p(vorbis_info *vi){ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -186132,214 +177074,6 @@ int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg){ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -188024,7 +178758,7 @@ long ov_read_float(OggVorbis_File *vf,float ***pcm_channels,int length, } extern float *vorbis_window(vorbis_dsp_state *v,int W); -extern void _analysis_output_always(char *base,int i,float *v,int n,int bark,int dB, +extern void _analysis_output_always(const char *base,int i,float *v,int n,int bark,int dB, ogg_int64_t off); static void _ov_splice(float **pcm,float **lappcm, @@ -188313,214 +179047,6 @@ int ov_time_seek_page_lap(OggVorbis_File *vf,double pos){ // This file is included at the start of each Ogg-Vorbis .c file, just to do a few housekeeping // tasks.. -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - #ifdef _MSC_VER #pragma warning (disable: 4267 4127 4244 4996 4100 4701 4702 4013 4133 4206 4305 4189 4706) #endif @@ -255934,262 +246460,27 @@ END_JUCE_NAMESPACE //============================================================================== #if JUCE_LINUX -/********* Start of inlined file: juce_linux_Files.cpp *********/ - -/********* Start of inlined file: linuxincludes.h *********/ -#ifndef __LINUXINCLUDES_JUCEHEADER__ -#define __LINUXINCLUDES_JUCEHEADER__ - -// Linux Header Files: -#include -#include -#include -#include -#include -#include - -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - +/********* Start of inlined file: juce_linux_NativeCode.cpp *********/ /* - This file contains macros that enable/disable various JUCE features. + This file wraps together all the mac-specific code, so that + we can include all the native headers just once, and compile all our + platform-specific stuff in one big lump, keeping it out of the way of + the rest of the codebase. */ -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ +BEGIN_JUCE_NAMESPACE /* Remove this macro if you're having problems compiling the cpu affinity calls (the API for these has changed about quite a bit in various Linux versions, and a lot of distros seem to ship with obsolete versions) */ -#ifndef SUPPORT_AFFINITIES +#if defined (CPU_ISSET) && ! defined (SUPPORT_AFFINITIES) #define SUPPORT_AFFINITIES 1 #endif -#endif // __LINUXINCLUDES_JUCEHEADER__ -/********* End of inlined file: linuxincludes.h *********/ +#define JUCE_INCLUDED_FILE 1 -#include -#include -#include -#include // for statfs -#include -#include -#include -#include -#include -#include -#include - -#define U_ISOFS_SUPER_MAGIC (short) 0x9660 // linux/iso_fs.h -#define U_MSDOS_SUPER_MAGIC (short) 0x4d44 // linux/msdos_fs.h -#define U_NFS_SUPER_MAGIC (short) 0x6969 // linux/nfs_fs.h -#define U_SMB_SUPER_MAGIC (short) 0x517B // linux/smb_fs.h - -BEGIN_JUCE_NAMESPACE - -/* - Note that a lot of methods that you'd expect to find in this file actually - live in juce_posix_SharedCode.h! -*/ +// Now include the actual code files.. /********* Start of inlined file: juce_posix_SharedCode.h *********/ /* @@ -256557,7 +246848,8 @@ const String juce_getVolumeLabel (const String& filenameOnVolume, void juce_runSystemCommand (const String& command) { - system ((const char*) command.toUTF8()); + int result = system ((const char*) command.toUTF8()); + (void) result; } const String juce_getOutputFromCommand (const String& command) @@ -256664,6 +246956,16 @@ void InterProcessLock::exit() throw() } /********* End of inlined file: juce_posix_SharedCode.h *********/ +/********* Start of inlined file: juce_linux_Files.cpp *********/ +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE + +#define U_ISOFS_SUPER_MAGIC (short) 0x9660 // linux/iso_fs.h +#define U_MSDOS_SUPER_MAGIC (short) 0x4d44 // linux/msdos_fs.h +#define U_NFS_SUPER_MAGIC (short) 0x6969 // linux/nfs_fs.h +#define U_SMB_SUPER_MAGIC (short) 0x517B // linux/smb_fs.h + void juce_getFileTimes (const String& fileName, int64& modificationTime, int64& accessTime, @@ -257064,26 +247366,13 @@ bool juce_launchFile (const String& fileName, return cpid >= 0; } -END_JUCE_NAMESPACE +#endif /********* End of inlined file: juce_linux_Files.cpp *********/ -/********* Start of inlined file: juce_linux_NamedPipe.cpp *********/ - /********* Start of inlined file: juce_mac_NamedPipe.cpp *********/ - -#include -#include -#include - -// As well as being for the mac, this file is included by the linux build. - -#if ! JUCE_MAC - #include - #include - #include -#endif - -BEGIN_JUCE_NAMESPACE +// (This file gets included by juce_mac_NativeCode.mm, rather than being +// compiled on its own). +#if JUCE_INCLUDED_FILE struct NamedPipeInternal { @@ -257267,23 +247556,13 @@ int NamedPipe::write (const void* sourceBuffer, int numBytesToWrite, int timeOut return bytesWritten; } -END_JUCE_NAMESPACE +#endif /********* End of inlined file: juce_mac_NamedPipe.cpp *********/ -/********* End of inlined file: juce_linux_NamedPipe.cpp *********/ - /********* Start of inlined file: juce_linux_Network.cpp *********/ - -#include -#include -#include -#include -#include -#include -#include -#include - -BEGIN_JUCE_NAMESPACE +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE int SystemStats::getMACAddresses (int64* addresses, int maxNum, const bool littleEndian) throw() { @@ -257724,19 +248003,13 @@ int juce_seekInInternetFile (void* handle, int newPosition) return 0; } -END_JUCE_NAMESPACE +#endif /********* End of inlined file: juce_linux_Network.cpp *********/ /********* Start of inlined file: juce_linux_SystemStats.cpp *********/ - -#include -#include - -#ifndef CPU_ISSET - #undef SUPPORT_AFFINITIES -#endif - -BEGIN_JUCE_NAMESPACE +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE /*static juce_noinline unsigned int getCPUIDWord (int* familyModel, int* extFeatures) throw() { @@ -257960,27 +248233,19 @@ void PlatformUtilities::fpuReset() { } -END_JUCE_NAMESPACE +#endif /********* End of inlined file: juce_linux_SystemStats.cpp *********/ /********* Start of inlined file: juce_linux_Threads.cpp *********/ - -#include -#include -#include -#include - -BEGIN_JUCE_NAMESPACE +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE /* Note that a lot of methods that you'd expect to find in this file actually live in juce_posix_SharedCode.h! */ -#ifndef CPU_ISSET - #undef SUPPORT_AFFINITIES -#endif - void JUCE_API juce_threadEntryPoint (void*); void* threadEntryProc (void* value) throw() @@ -258198,1722 +248463,392 @@ void* PlatformUtilities::getProcedureEntryPoint (void* libraryHandle, const Stri #endif -END_JUCE_NAMESPACE +#endif /********* End of inlined file: juce_linux_Threads.cpp *********/ #if ! JUCE_ONLY_BUILD_CORE_LIBRARY -/********* Start of inlined file: juce_linux_Audio.cpp *********/ +/********* Start of inlined file: juce_linux_Messaging.cpp *********/ +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - -#if JUCE_ALSA - -/* Got an include error here? If so, you've either not got ALSA installed, or you've - not got your paths set up correctly to find its header files. - - The package you need to install to get ASLA support is "libasound2-dev". - - If you don't have the ALSA library and don't want to build Juce with audio support, - just disable the JUCE_ALSA flag in juce_Config.h -*/ -#include - -BEGIN_JUCE_NAMESPACE - -static const int maxNumChans = 64; - -static void getDeviceSampleRates (snd_pcm_t* handle, Array & rates) -{ - const int ratesToTry[] = { 22050, 32000, 44100, 48000, 88200, 96000, 176400, 192000, 0 }; - - snd_pcm_hw_params_t* hwParams; - snd_pcm_hw_params_alloca (&hwParams); - - for (int i = 0; ratesToTry[i] != 0; ++i) - { - if (snd_pcm_hw_params_any (handle, hwParams) >= 0 - && snd_pcm_hw_params_test_rate (handle, hwParams, ratesToTry[i], 0) == 0) - { - rates.addIfNotAlreadyThere (ratesToTry[i]); - } - } -} - -static void getDeviceNumChannels (snd_pcm_t* handle, unsigned int* minChans, unsigned int* maxChans) -{ - snd_pcm_hw_params_t *params; - snd_pcm_hw_params_alloca (¶ms); - - if (snd_pcm_hw_params_any (handle, params) >= 0) - { - snd_pcm_hw_params_get_channels_min (params, minChans); - snd_pcm_hw_params_get_channels_max (params, maxChans); - } -} - -static void getDeviceProperties (const String& id, - unsigned int& minChansOut, - unsigned int& maxChansOut, - unsigned int& minChansIn, - unsigned int& maxChansIn, - Array & rates) -{ - if (id.isEmpty()) - return; - - snd_ctl_t* handle; - - if (snd_ctl_open (&handle, id.upToLastOccurrenceOf (T(","), false, false), SND_CTL_NONBLOCK) >= 0) - { - snd_pcm_info_t* info; - snd_pcm_info_alloca (&info); - - snd_pcm_info_set_stream (info, SND_PCM_STREAM_PLAYBACK); - snd_pcm_info_set_device (info, id.fromLastOccurrenceOf (T(","), false, false).getIntValue()); - snd_pcm_info_set_subdevice (info, 0); - - if (snd_ctl_pcm_info (handle, info) >= 0) - { - snd_pcm_t* pcmHandle; - if (snd_pcm_open (&pcmHandle, id, SND_PCM_STREAM_PLAYBACK, SND_PCM_ASYNC | SND_PCM_NONBLOCK ) >= 0) - { - getDeviceNumChannels (pcmHandle, &minChansOut, &maxChansOut); - getDeviceSampleRates (pcmHandle, rates); - - snd_pcm_close (pcmHandle); - } - } - - snd_pcm_info_set_stream (info, SND_PCM_STREAM_CAPTURE); - - if (snd_ctl_pcm_info (handle, info) >= 0) - { - snd_pcm_t* pcmHandle; - if (snd_pcm_open (&pcmHandle, id, SND_PCM_STREAM_CAPTURE, SND_PCM_ASYNC | SND_PCM_NONBLOCK ) >= 0) - { - getDeviceNumChannels (pcmHandle, &minChansIn, &maxChansIn); - - if (rates.size() == 0) - getDeviceSampleRates (pcmHandle, rates); - - snd_pcm_close (pcmHandle); - } - } - - snd_ctl_close (handle); - } -} - -class ALSADevice -{ -public: - ALSADevice (const String& id, - const bool forInput) - : handle (0), - bitDepth (16), - numChannelsRunning (0), - isInput (forInput), - sampleFormat (AudioDataConverters::int16LE) - { - failed (snd_pcm_open (&handle, id, - forInput ? SND_PCM_STREAM_CAPTURE : SND_PCM_STREAM_PLAYBACK, - SND_PCM_ASYNC)); - } - - ~ALSADevice() - { - if (handle != 0) - snd_pcm_close (handle); - } - - bool setParameters (unsigned int sampleRate, int numChannels, int bufferSize) - { - if (handle == 0) - return false; - - snd_pcm_hw_params_t* hwParams; - snd_pcm_hw_params_alloca (&hwParams); - - if (failed (snd_pcm_hw_params_any (handle, hwParams))) - return false; - - if (snd_pcm_hw_params_set_access (handle, hwParams, SND_PCM_ACCESS_RW_NONINTERLEAVED) >= 0) - isInterleaved = false; - else if (snd_pcm_hw_params_set_access (handle, hwParams, SND_PCM_ACCESS_RW_INTERLEAVED) >= 0) - isInterleaved = true; - else - { - jassertfalse - return false; - } - - const int formatsToTry[] = { SND_PCM_FORMAT_FLOAT_LE, 32, AudioDataConverters::float32LE, - SND_PCM_FORMAT_FLOAT_BE, 32, AudioDataConverters::float32BE, - SND_PCM_FORMAT_S32_LE, 32, AudioDataConverters::int32LE, - SND_PCM_FORMAT_S32_BE, 32, AudioDataConverters::int32BE, - SND_PCM_FORMAT_S24_3LE, 24, AudioDataConverters::int24LE, - SND_PCM_FORMAT_S24_3BE, 24, AudioDataConverters::int24BE, - SND_PCM_FORMAT_S16_LE, 16, AudioDataConverters::int16LE, - SND_PCM_FORMAT_S16_BE, 16, AudioDataConverters::int16BE }; - bitDepth = 0; - - for (int i = 0; i < numElementsInArray (formatsToTry); i += 3) - { - if (snd_pcm_hw_params_set_format (handle, hwParams, (_snd_pcm_format) formatsToTry [i]) >= 0) - { - bitDepth = formatsToTry [i + 1]; - sampleFormat = (AudioDataConverters::DataFormat) formatsToTry [i + 2]; - break; - } - } - - if (bitDepth == 0) - { - error = "device doesn't support a compatible PCM format"; - DBG (T("ALSA error: ") + error + T("\n")); - return false; - } - - int dir = 0; - unsigned int periods = 4; - snd_pcm_uframes_t samplesPerPeriod = bufferSize; - - if (failed (snd_pcm_hw_params_set_rate_near (handle, hwParams, &sampleRate, 0)) - || failed (snd_pcm_hw_params_set_channels (handle, hwParams, numChannels)) - || failed (snd_pcm_hw_params_set_periods_near (handle, hwParams, &periods, &dir)) - || failed (snd_pcm_hw_params_set_period_size_near (handle, hwParams, &samplesPerPeriod, &dir)) - || failed (snd_pcm_hw_params (handle, hwParams))) - { - return false; - } - - snd_pcm_sw_params_t* swParams; - snd_pcm_sw_params_alloca (&swParams); - snd_pcm_uframes_t boundary; - - if (failed (snd_pcm_sw_params_current (handle, swParams)) - || failed (snd_pcm_sw_params_get_boundary (swParams, &boundary)) - || failed (snd_pcm_sw_params_set_silence_threshold (handle, swParams, 0)) - || failed (snd_pcm_sw_params_set_silence_size (handle, swParams, boundary)) - || failed (snd_pcm_sw_params_set_start_threshold (handle, swParams, samplesPerPeriod)) - || failed (snd_pcm_sw_params_set_stop_threshold (handle, swParams, boundary)) - || failed (snd_pcm_sw_params (handle, swParams))) - { - return false; - } - - /* #ifdef JUCE_DEBUG - // enable this to dump the config of the devices that get opened - snd_output_t* out; - snd_output_stdio_attach (&out, stderr, 0); - snd_pcm_hw_params_dump (hwParams, out); - snd_pcm_sw_params_dump (swParams, out); + #define JUCE_DEBUG_XERRORS 1 #endif - */ - numChannelsRunning = numChannels; +Display* display = 0; // This is also referenced from WindowDriver.cpp +static Window juce_messageWindowHandle = None; - return true; - } +#define SpecialAtom "JUCESpecialAtom" +#define BroadcastAtom "JUCEBroadcastAtom" +#define SpecialCallbackAtom "JUCESpecialCallbackAtom" - bool write (float** const data, const int numSamples) - { - if (isInterleaved) - { - scratch.ensureSize (sizeof (float) * numSamples * numChannelsRunning, false); - float* interleaved = (float*) scratch; +static Atom specialId; +static Atom broadcastId; +static Atom specialCallbackId; - AudioDataConverters::interleaveSamples ((const float**) data, interleaved, numSamples, numChannelsRunning); - AudioDataConverters::convertFloatToFormat (sampleFormat, interleaved, interleaved, numSamples * numChannelsRunning); +// This is referenced from WindowDriver.cpp +XContext improbableNumber; - snd_pcm_sframes_t num = snd_pcm_writei (handle, (void*) interleaved, numSamples); +// Defined in WindowDriver.cpp +extern void juce_windowMessageReceive (XEvent* event); - if (failed (num) && num != -EPIPE && num != -ESTRPIPE) - return false; - } - else - { - for (int i = 0; i < numChannelsRunning; ++i) - if (data[i] != 0) - AudioDataConverters::convertFloatToFormat (sampleFormat, data[i], data[i], numSamples); - - snd_pcm_sframes_t num = snd_pcm_writen (handle, (void**) data, numSamples); - - if (failed (num)) - { - if (num == -EPIPE) - { - if (failed (snd_pcm_prepare (handle))) - return false; - } - else if (num != -ESTRPIPE) - return false; - } - } - - return true; - } - - bool read (float** const data, const int numSamples) - { - if (isInterleaved) - { - scratch.ensureSize (sizeof (float) * numSamples * numChannelsRunning, false); - float* interleaved = (float*) scratch; - - snd_pcm_sframes_t num = snd_pcm_readi (handle, (void*) interleaved, numSamples); - - if (failed (num)) - { - if (num == -EPIPE) - { - if (failed (snd_pcm_prepare (handle))) - return false; - } - else if (num != -ESTRPIPE) - return false; - } - - AudioDataConverters::convertFormatToFloat (sampleFormat, interleaved, interleaved, numSamples * numChannelsRunning); - AudioDataConverters::deinterleaveSamples (interleaved, data, numSamples, numChannelsRunning); - } - else - { - snd_pcm_sframes_t num = snd_pcm_readn (handle, (void**) data, numSamples); - - if (failed (num) && num != -EPIPE && num != -ESTRPIPE) - return false; - - for (int i = 0; i < numChannelsRunning; ++i) - if (data[i] != 0) - AudioDataConverters::convertFormatToFloat (sampleFormat, data[i], data[i], numSamples); - } - - return true; - } - - juce_UseDebuggingNewOperator - - snd_pcm_t* handle; - String error; - int bitDepth, numChannelsRunning; - -private: - const bool isInput; - bool isInterleaved; - MemoryBlock scratch; - AudioDataConverters::DataFormat sampleFormat; - - bool failed (const int errorNum) - { - if (errorNum >= 0) - return false; - - error = snd_strerror (errorNum); - DBG (T("ALSA error: ") + error + T("\n")); - return true; - } +struct MessageThreadFuncCall +{ + MessageCallbackFunction* func; + void* parameter; + void* result; + CriticalSection lock; + WaitableEvent event; }; -class ALSAThread : public Thread +static bool errorCondition = false; +static XErrorHandler oldErrorHandler = (XErrorHandler) 0; +static XIOErrorHandler oldIOErrorHandler = (XIOErrorHandler) 0; + +// (defined in another file to avoid problems including certain headers in this one) +extern bool juce_isRunningAsApplication(); + +// Usually happens when client-server connection is broken +static int ioErrorHandler (Display* display) { -public: - ALSAThread (const String& inputId_, - const String& outputId_) - : Thread ("Juce ALSA"), - sampleRate (0), - bufferSize (0), - callback (0), - inputId (inputId_), - outputId (outputId_), - outputDevice (0), - inputDevice (0), - numCallbacks (0), - totalNumInputChannels (0), - totalNumOutputChannels (0) - { - zeromem (outputChannelData, sizeof (outputChannelData)); - zeromem (outputChannelDataForCallback, sizeof (outputChannelDataForCallback)); - zeromem (inputChannelData, sizeof (inputChannelData)); - zeromem (inputChannelDataForCallback, sizeof (inputChannelDataForCallback)); + DBG (T("ERROR: connection to X server broken.. terminating.")); - initialiseRatesAndChannels(); + errorCondition = true; + + if (juce_isRunningAsApplication()) + Process::terminate(); + + return 0; +} + +// A protocol error has occurred +static int errorHandler (Display* display, XErrorEvent* event) +{ +#ifdef JUCE_DEBUG_XERRORS + char errorStr[64] = { 0 }; + char requestStr[64] = { 0 }; + + XGetErrorText (display, event->error_code, errorStr, 64); + + XGetErrorDatabaseText (display, + "XRequest", + (const char*) String (event->request_code), + "Unknown", + requestStr, + 64); + + DBG (T("ERROR: X returned ") + String (errorStr) + T(" for operation ") + String (requestStr)); +#endif + + return 0; +} + +static bool breakIn = false; + +// Breakin from keyboard +static void sig_handler (int sig) +{ + if (sig == SIGINT) + { + breakIn = true; + return; } - ~ALSAThread() + static bool reentrant = false; + + if (reentrant == false) { - close(); + reentrant = true; + + // Illegal instruction + fflush (stdout); + Logger::outputDebugString ("ERROR: Program executed illegal instruction.. terminating"); + + errorCondition = true; + + if (juce_isRunningAsApplication()) + Process::terminate(); } - - void open (BitArray inputChannels, - BitArray outputChannels, - const double sampleRate_, - const int bufferSize_) + else { - close(); + if (juce_isRunningAsApplication()) + exit(0); + } +} - error = String::empty; - sampleRate = sampleRate_; - bufferSize = bufferSize_; - currentInputChans.clear(); - currentOutputChans.clear(); +void MessageManager::doPlatformSpecificInitialisation() +{ + // Initialise xlib for multiple thread support + static bool initThreadCalled = false; - if (inputChannels.getHighestBit() >= 0) + if (! initThreadCalled) + { + if (! XInitThreads()) { - for (int i = 0; i <= jmax (inputChannels.getHighestBit(), minChansIn); ++i) - { - inputChannelData [i] = (float*) juce_calloc (sizeof (float) * bufferSize); + // This is fatal! Print error and closedown + Logger::outputDebugString ("Failed to initialise xlib thread support."); - if (inputChannels[i]) - { - inputChannelDataForCallback [totalNumInputChannels++] = inputChannelData [i]; - currentInputChans.setBit (i); - } - } - } + if (juce_isRunningAsApplication()) + Process::terminate(); - if (outputChannels.getHighestBit() >= 0) - { - for (int i = 0; i <= jmax (outputChannels.getHighestBit(), minChansOut); ++i) - { - outputChannelData [i] = (float*) juce_calloc (sizeof (float) * bufferSize); - - if (outputChannels[i]) - { - outputChannelDataForCallback [totalNumOutputChannels++] = outputChannelData [i]; - currentOutputChans.setBit (i); - } - } - } - - if (totalNumOutputChannels > 0 && outputId.isNotEmpty()) - { - outputDevice = new ALSADevice (outputId, false); - - if (outputDevice->error.isNotEmpty()) - { - error = outputDevice->error; - deleteAndZero (outputDevice); - return; - } - - currentOutputChans.setRange (0, minChansOut, true); - - if (! outputDevice->setParameters ((unsigned int) sampleRate, - jlimit ((int) minChansOut, (int) maxChansOut, currentOutputChans.getHighestBit() + 1), - bufferSize)) - { - error = outputDevice->error; - deleteAndZero (outputDevice); - return; - } - } - - if (totalNumInputChannels > 0 && inputId.isNotEmpty()) - { - inputDevice = new ALSADevice (inputId, true); - - if (inputDevice->error.isNotEmpty()) - { - error = inputDevice->error; - deleteAndZero (inputDevice); - return; - } - - currentInputChans.setRange (0, minChansIn, true); - - if (! inputDevice->setParameters ((unsigned int) sampleRate, - jlimit ((int) minChansIn, (int) maxChansIn, currentInputChans.getHighestBit() + 1), - bufferSize)) - { - error = inputDevice->error; - deleteAndZero (inputDevice); - return; - } - } - - if (outputDevice == 0 && inputDevice == 0) - { - error = "no channels"; return; } - if (outputDevice != 0 && inputDevice != 0) + initThreadCalled = true; + } + + // This is called if the client/server connection is broken + oldIOErrorHandler = XSetIOErrorHandler (ioErrorHandler); + + // This is called if a protocol error occurs + oldErrorHandler = XSetErrorHandler (errorHandler); + + // Install signal handler for break-in + struct sigaction saction; + sigset_t maskSet; + sigemptyset (&maskSet); + saction.sa_handler = sig_handler; + saction.sa_mask = maskSet; + saction.sa_flags = 0; + sigaction (SIGINT, &saction, NULL); + +#ifndef _DEBUG + // Setup signal handlers for various fatal errors + sigaction (SIGILL, &saction, NULL); + sigaction (SIGBUS, &saction, NULL); + sigaction (SIGFPE, &saction, NULL); + sigaction (SIGSEGV, &saction, NULL); + sigaction (SIGSYS, &saction, NULL); +#endif + + String displayName (getenv ("DISPLAY")); + if (displayName.isEmpty()) + displayName = T(":0.0"); + + display = XOpenDisplay (displayName); + + if (display == 0) + { + // This is fatal! Print error and closedown + Logger::outputDebugString ("Failed to open the X display."); + + if (juce_isRunningAsApplication()) + Process::terminate(); + + return; + } + + // Get defaults for various properties + int screen = DefaultScreen (display); + Window root = RootWindow (display, screen); + Visual* visual = DefaultVisual (display, screen); + + // Create atoms for our ClientMessages (these cannot be deleted) + specialId = XInternAtom (display, SpecialAtom, false); + broadcastId = XInternAtom (display, BroadcastAtom, false); + specialCallbackId = XInternAtom (display, SpecialCallbackAtom, false); + + // Create a context to store user data associated with Windows we + // create in WindowDriver + improbableNumber = XUniqueContext(); + + // We're only interested in client messages for this window + // which are always sent + XSetWindowAttributes swa; + swa.event_mask = NoEventMask; + + // Create our message window (this will never be mapped) + juce_messageWindowHandle = XCreateWindow (display, root, + 0, 0, 1, 1, 0, 0, InputOnly, + visual, CWEventMask, &swa); +} + +void MessageManager::doPlatformSpecificShutdown() +{ + if (errorCondition == false) + { + XDestroyWindow (display, juce_messageWindowHandle); + XCloseDisplay (display); + + // reset pointers + juce_messageWindowHandle = 0; + display = 0; + + // Restore original error handlers + XSetIOErrorHandler (oldIOErrorHandler); + oldIOErrorHandler = 0; + XSetErrorHandler (oldErrorHandler); + oldErrorHandler = 0; + } +} + +bool juce_postMessageToSystemQueue (void* message) +{ + if (errorCondition) + return false; + + XClientMessageEvent clientMsg; + clientMsg.display = display; + clientMsg.window = juce_messageWindowHandle; + clientMsg.type = ClientMessage; + clientMsg.format = 32; + clientMsg.message_type = specialId; +#if JUCE_64BIT + clientMsg.data.l[0] = (long) (0x00000000ffffffff & (((uint64) message) >> 32)); + clientMsg.data.l[1] = (long) (0x00000000ffffffff & (long) message); +#else + clientMsg.data.l[0] = (long) message; +#endif + + XSendEvent (display, juce_messageWindowHandle, false, + NoEventMask, (XEvent*) &clientMsg); + + XFlush (display); // This is necessary to ensure the event is delivered + + return true; +} + +void MessageManager::broadcastMessage (const String& value) throw() +{ +} + +void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* func, + void* parameter) +{ + void* retVal = 0; + + if (! errorCondition) + { + if (! isThisTheMessageThread()) { - snd_pcm_link (outputDevice->handle, inputDevice->handle); + static MessageThreadFuncCall messageFuncCallContext; + + const ScopedLock sl (messageFuncCallContext.lock); + + XClientMessageEvent clientMsg; + clientMsg.display = display; + clientMsg.window = juce_messageWindowHandle; + clientMsg.type = ClientMessage; + clientMsg.format = 32; + clientMsg.message_type = specialCallbackId; +#if JUCE_64BIT + clientMsg.data.l[0] = (long) (0x00000000ffffffff & (((uint64) &messageFuncCallContext) >> 32)); + clientMsg.data.l[1] = (long) (0x00000000ffffffff & (uint64) &messageFuncCallContext); +#else + clientMsg.data.l[0] = (long) &messageFuncCallContext; +#endif + + messageFuncCallContext.func = func; + messageFuncCallContext.parameter = parameter; + + if (XSendEvent (display, juce_messageWindowHandle, false, NoEventMask, (XEvent*) &clientMsg) == 0) + return 0; + + XFlush (display); // This is necessary to ensure the event is delivered + + // Wait for it to complete before continuing + messageFuncCallContext.event.wait(); + + retVal = messageFuncCallContext.result; } - - if (inputDevice != 0 && failed (snd_pcm_prepare (inputDevice->handle))) - return; - - if (outputDevice != 0 && failed (snd_pcm_prepare (outputDevice->handle))) - return; - - startThread (9); - - int count = 1000; - - while (numCallbacks == 0) + else { - sleep (5); + // Just call the function directly + retVal = func (parameter); + } + } - if (--count < 0 || ! isThreadRunning()) + return retVal; +} + +bool juce_dispatchNextMessageOnSystemQueue (bool returnIfNoPendingMessages) +{ + if (errorCondition) + return false; + + if (breakIn) + { + errorCondition = true; + + if (juce_isRunningAsApplication()) + Process::terminate(); + + return false; + } + + if (returnIfNoPendingMessages && ! XPending (display)) + return false; + + XEvent evt; + XNextEvent (display, &evt); + + if (evt.type == ClientMessage && evt.xany.window == juce_messageWindowHandle) + { + XClientMessageEvent* const clientMsg = (XClientMessageEvent*) &evt; + + if (clientMsg->format != 32) + { + jassertfalse + DBG ("Error: juce_dispatchNextMessageOnSystemQueue received malformed client message."); + } + else + { + JUCE_TRY { - error = "device didn't start"; - break; - } - } - } +#if JUCE_64BIT + void* const messagePtr + = (void*) ((0xffffffff00000000 & (((uint64) clientMsg->data.l[0]) << 32)) + | (clientMsg->data.l[1] & 0x00000000ffffffff)); +#else + void* const messagePtr = (void*) (clientMsg->data.l[0]); +#endif - void close() - { - stopThread (6000); - - deleteAndZero (inputDevice); - deleteAndZero (outputDevice); - - for (int i = 0; i < maxNumChans; ++i) - { - juce_free (inputChannelData [i]); - juce_free (outputChannelData [i]); - } - - zeromem (outputChannelData, sizeof (outputChannelData)); - zeromem (outputChannelDataForCallback, sizeof (outputChannelDataForCallback)); - zeromem (inputChannelData, sizeof (inputChannelData)); - zeromem (inputChannelDataForCallback, sizeof (inputChannelDataForCallback)); - totalNumOutputChannels = 0; - totalNumInputChannels = 0; - - numCallbacks = 0; - } - - void setCallback (AudioIODeviceCallback* const newCallback) throw() - { - const ScopedLock sl (callbackLock); - callback = newCallback; - } - - void run() - { - while (! threadShouldExit()) - { - if (inputDevice != 0) - { - if (! inputDevice->read (inputChannelData, bufferSize)) + if (clientMsg->message_type == specialId) { - DBG ("ALSA: read failure"); - break; + MessageManager::getInstance()->deliverMessage (messagePtr); } - } - - if (threadShouldExit()) - break; - - { - const ScopedLock sl (callbackLock); - ++numCallbacks; - - if (callback != 0) + else if (clientMsg->message_type == specialCallbackId) { - callback->audioDeviceIOCallback ((const float**) inputChannelDataForCallback, - totalNumInputChannels, - outputChannelDataForCallback, - totalNumOutputChannels, - bufferSize); + MessageThreadFuncCall* const call = (MessageThreadFuncCall*) messagePtr; + MessageCallbackFunction* func = call->func; + call->result = (*func) (call->parameter); + call->event.signal(); + } + else if (clientMsg->message_type == broadcastId) + { +#if 0 + TCHAR buffer[8192]; + zeromem (buffer, sizeof (buffer)); + + if (GlobalGetAtomName ((ATOM) lParam, buffer, 8192) != 0) + mq->deliverBroadcastMessage (String (buffer)); +#endif } else { - for (int i = 0; i < totalNumOutputChannels; ++i) - zeromem (outputChannelDataForCallback[i], sizeof (float) * bufferSize); - } - } - - if (outputDevice != 0) - { - failed (snd_pcm_wait (outputDevice->handle, 2000)); - - if (threadShouldExit()) - break; - - failed (snd_pcm_avail_update (outputDevice->handle)); - - if (! outputDevice->write (outputChannelData, bufferSize)) - { - DBG ("ALSA: write failure"); - break; + DBG ("Error: juce_dispatchNextMessageOnSystemQueue received unknown client message."); } } + JUCE_CATCH_ALL } } - - int getBitDepth() const throw() + else if (evt.xany.window != juce_messageWindowHandle) { - if (outputDevice != 0) - return outputDevice->bitDepth; - - if (inputDevice != 0) - return inputDevice->bitDepth; - - return 16; + juce_windowMessageReceive (&evt); } - juce_UseDebuggingNewOperator - - String error; - double sampleRate; - int bufferSize; - BitArray currentInputChans, currentOutputChans; - - Array sampleRates; - StringArray channelNamesOut, channelNamesIn; - AudioIODeviceCallback* callback; - -private: - - const String inputId, outputId; - ALSADevice* outputDevice; - ALSADevice* inputDevice; - int numCallbacks; - - CriticalSection callbackLock; - - float* outputChannelData [maxNumChans]; - float* outputChannelDataForCallback [maxNumChans]; - int totalNumInputChannels; - float* inputChannelData [maxNumChans]; - float* inputChannelDataForCallback [maxNumChans]; - int totalNumOutputChannels; - - unsigned int minChansOut, maxChansOut; - unsigned int minChansIn, maxChansIn; - - bool failed (const int errorNum) throw() - { - if (errorNum >= 0) - return false; - - error = snd_strerror (errorNum); - DBG (T("ALSA error: ") + error + T("\n")); - return true; - } - - void initialiseRatesAndChannels() throw() - { - sampleRates.clear(); - channelNamesOut.clear(); - channelNamesIn.clear(); - minChansOut = 0; - maxChansOut = 0; - minChansIn = 0; - maxChansIn = 0; - unsigned int dummy = 0; - - getDeviceProperties (inputId, dummy, dummy, minChansIn, maxChansIn, sampleRates); - getDeviceProperties (outputId, minChansOut, maxChansOut, dummy, dummy, sampleRates); - - unsigned int i; - for (i = 0; i < maxChansOut; ++i) - channelNamesOut.add (T("channel ") + String ((int) i + 1)); - - for (i = 0; i < maxChansIn; ++i) - channelNamesIn.add (T("channel ") + String ((int) i + 1)); - } -}; - -class ALSAAudioIODevice : public AudioIODevice -{ -public: - ALSAAudioIODevice (const String& deviceName, - const String& inputId_, - const String& outputId_) - : AudioIODevice (deviceName, T("ALSA")), - inputId (inputId_), - outputId (outputId_), - isOpen_ (false), - isStarted (false), - internal (0) - { - internal = new ALSAThread (inputId, outputId); - } - - ~ALSAAudioIODevice() - { - delete internal; - } - - const StringArray getOutputChannelNames() - { - return internal->channelNamesOut; - } - - const StringArray getInputChannelNames() - { - return internal->channelNamesIn; - } - - int getNumSampleRates() - { - return internal->sampleRates.size(); - } - - double getSampleRate (int index) - { - return internal->sampleRates [index]; - } - - int getNumBufferSizesAvailable() - { - return 50; - } - - int getBufferSizeSamples (int index) - { - int n = 16; - for (int i = 0; i < index; ++i) - n += n < 64 ? 16 - : (n < 512 ? 32 - : (n < 1024 ? 64 - : (n < 2048 ? 128 : 256))); - - return n; - } - - int getDefaultBufferSize() - { - return 512; - } - - const String open (const BitArray& inputChannels, - const BitArray& outputChannels, - double sampleRate, - int bufferSizeSamples) - { - close(); - - if (bufferSizeSamples <= 0) - bufferSizeSamples = getDefaultBufferSize(); - - if (sampleRate <= 0) - { - for (int i = 0; i < getNumSampleRates(); ++i) - { - if (getSampleRate (i) >= 44100) - { - sampleRate = getSampleRate (i); - break; - } - } - } - - internal->open (inputChannels, outputChannels, - sampleRate, bufferSizeSamples); - - isOpen_ = internal->error.isEmpty(); - return internal->error; - } - - void close() - { - stop(); - internal->close(); - isOpen_ = false; - } - - bool isOpen() - { - return isOpen_; - } - - int getCurrentBufferSizeSamples() - { - return internal->bufferSize; - } - - double getCurrentSampleRate() - { - return internal->sampleRate; - } - - int getCurrentBitDepth() - { - return internal->getBitDepth(); - } - - const BitArray getActiveOutputChannels() const - { - return internal->currentOutputChans; - } - - const BitArray getActiveInputChannels() const - { - return internal->currentInputChans; - } - - int getOutputLatencyInSamples() - { - return 0; - } - - int getInputLatencyInSamples() - { - return 0; - } - - void start (AudioIODeviceCallback* callback) - { - if (! isOpen_) - callback = 0; - - internal->setCallback (callback); - - if (callback != 0) - callback->audioDeviceAboutToStart (this); - - isStarted = (callback != 0); - } - - void stop() - { - AudioIODeviceCallback* const oldCallback = internal->callback; - - start (0); - - if (oldCallback != 0) - oldCallback->audioDeviceStopped(); - } - - bool isPlaying() - { - return isStarted && internal->error.isEmpty(); - } - - const String getLastError() - { - return internal->error; - } - - String inputId, outputId; - -private: - bool isOpen_, isStarted; - ALSAThread* internal; -}; - -class ALSAAudioIODeviceType : public AudioIODeviceType -{ -public: - - ALSAAudioIODeviceType() - : AudioIODeviceType (T("ALSA")), - hasScanned (false) - { - } - - ~ALSAAudioIODeviceType() - { - } - - void scanForDevices() - { - if (hasScanned) - return; - - hasScanned = true; - inputNames.clear(); - inputIds.clear(); - outputNames.clear(); - outputIds.clear(); - - snd_ctl_t* handle; - snd_ctl_card_info_t* info; - snd_ctl_card_info_alloca (&info); - - int cardNum = -1; - - while (outputIds.size() + inputIds.size() <= 32) - { - snd_card_next (&cardNum); - - if (cardNum < 0) - break; - - if (snd_ctl_open (&handle, T("hw:") + String (cardNum), SND_CTL_NONBLOCK) >= 0) - { - if (snd_ctl_card_info (handle, info) >= 0) - { - String cardId (snd_ctl_card_info_get_id (info)); - - if (cardId.removeCharacters (T("0123456789")).isEmpty()) - cardId = String (cardNum); - - int device = -1; - - for (;;) - { - if (snd_ctl_pcm_next_device (handle, &device) < 0 || device < 0) - break; - - String id, name; - id << "hw:" << cardId << ',' << device; - - bool isInput, isOutput; - - if (testDevice (id, isInput, isOutput)) - { - name << snd_ctl_card_info_get_name (info); - - if (name.isEmpty()) - name = id; - - if (isInput) - { - inputNames.add (name); - inputIds.add (id); - } - - if (isOutput) - { - outputNames.add (name); - outputIds.add (id); - } - } - } - } - - snd_ctl_close (handle); - } - } - - inputNames.appendNumbersToDuplicates (false, true); - outputNames.appendNumbersToDuplicates (false, true); - } - - const StringArray getDeviceNames (const bool wantInputNames) const - { - jassert (hasScanned); // need to call scanForDevices() before doing this - - return wantInputNames ? inputNames : outputNames; - } - - int getDefaultDeviceIndex (const bool forInput) const - { - jassert (hasScanned); // need to call scanForDevices() before doing this - return 0; - } - - bool hasSeparateInputsAndOutputs() const { return true; } - - int getIndexOfDevice (AudioIODevice* device, const bool asInput) const - { - jassert (hasScanned); // need to call scanForDevices() before doing this - - ALSAAudioIODevice* const d = dynamic_cast (device); - if (d == 0) - return -1; - - return asInput ? inputIds.indexOf (d->inputId) - : outputIds.indexOf (d->outputId); - } - - AudioIODevice* createDevice (const String& outputDeviceName, - const String& inputDeviceName) - { - jassert (hasScanned); // need to call scanForDevices() before doing this - - const int inputIndex = inputNames.indexOf (inputDeviceName); - const int outputIndex = outputNames.indexOf (outputDeviceName); - - String deviceName (outputDeviceName); - if (deviceName.isEmpty()) - deviceName = inputDeviceName; - - if (index >= 0) - return new ALSAAudioIODevice (deviceName, - inputIds [inputIndex], - outputIds [outputIndex]); - - return 0; - } - - juce_UseDebuggingNewOperator - -private: - StringArray inputNames, outputNames, inputIds, outputIds; - bool hasScanned; - - static bool testDevice (const String& id, bool& isInput, bool& isOutput) - { - unsigned int minChansOut = 0, maxChansOut = 0; - unsigned int minChansIn = 0, maxChansIn = 0; - Array rates; - - getDeviceProperties (id, minChansOut, maxChansOut, minChansIn, maxChansIn, rates); - - DBG (T("ALSA device: ") + id - + T(" outs=") + String ((int) minChansOut) + T("-") + String ((int) maxChansOut) - + T(" ins=") + String ((int) minChansIn) + T("-") + String ((int) maxChansIn) - + T(" rates=") + String (rates.size())); - - isInput = maxChansIn > 0; - isOutput = maxChansOut > 0; - - return (isInput || isOutput) && rates.size() > 0; - } - - ALSAAudioIODeviceType (const ALSAAudioIODeviceType&); - const ALSAAudioIODeviceType& operator= (const ALSAAudioIODeviceType&); -}; - -AudioIODeviceType* juce_createDefaultAudioIODeviceType() -{ - return new ALSAAudioIODeviceType(); + return true; } -END_JUCE_NAMESPACE - -#else // if ALSA is turned off.. - -BEGIN_JUCE_NAMESPACE - -AudioIODeviceType* juce_createDefaultAudioIODeviceType() { return 0; } - -END_JUCE_NAMESPACE - #endif -/********* End of inlined file: juce_linux_Audio.cpp *********/ - -/********* Start of inlined file: juce_linux_AudioCDReader.cpp *********/ - -BEGIN_JUCE_NAMESPACE - -AudioCDReader::AudioCDReader() - : AudioFormatReader (0, T("CD Audio")) -{ -} - -const StringArray AudioCDReader::getAvailableCDNames() -{ - StringArray names; - return names; -} - -AudioCDReader* AudioCDReader::createReaderForCD (const int index) -{ - return 0; -} - -AudioCDReader::~AudioCDReader() -{ -} - -void AudioCDReader::refreshTrackLengths() -{ -} - -bool AudioCDReader::readSamples (int** destSamples, int numDestChannels, int startOffsetInDestBuffer, - int64 startSampleInFile, int numSamples) -{ - return false; -} - -bool AudioCDReader::isCDStillPresent() const -{ - return false; -} - -int AudioCDReader::getNumTracks() const -{ - return 0; -} - -int AudioCDReader::getPositionOfTrackStart (int trackNum) const -{ - return 0; -} - -bool AudioCDReader::isTrackAudio (int trackNum) const -{ - return false; -} - -void AudioCDReader::enableIndexScanning (bool b) -{ -} - -int AudioCDReader::getLastIndex() const -{ - return 0; -} - -const Array AudioCDReader::findIndexesInTrack (const int trackNumber) -{ - return Array(); -} - -int AudioCDReader::getCDDBId() -{ - return 0; -} - -END_JUCE_NAMESPACE -/********* End of inlined file: juce_linux_AudioCDReader.cpp *********/ - -/********* Start of inlined file: juce_linux_FileChooser.cpp *********/ - -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - -BEGIN_JUCE_NAMESPACE - -void FileChooser::showPlatformDialog (OwnedArray& results, - const String& title, - const File& file, - const String& filters, - bool isDirectory, - bool isSave, - bool warnAboutOverwritingExistingFiles, - bool selectMultipleFiles, - FilePreviewComponent* previewComponent) -{ - //xxx ain't got one! - jassertfalse -} - -END_JUCE_NAMESPACE -/********* End of inlined file: juce_linux_FileChooser.cpp *********/ +/********* End of inlined file: juce_linux_Messaging.cpp *********/ /********* Start of inlined file: juce_linux_Fonts.cpp *********/ - -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - -/* Got a build error here? You'll need to install the freetype library... - - The name of the package to install is "libfreetype6-dev". -*/ -#include -#include FT_FREETYPE_H - -BEGIN_JUCE_NAMESPACE +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE class FreeTypeFontFace { @@ -260494,1588 +249429,13 @@ void Typeface::getDefaultFontNames (String& defaultSans, String& defaultSerif, S defaultFixed = linux_getDefaultMonospacedFontName(); } -END_JUCE_NAMESPACE +#endif /********* End of inlined file: juce_linux_Fonts.cpp *********/ -/********* Start of inlined file: juce_linux_Messaging.cpp *********/ - -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - -#include -#include -#include -#include -#include -#include - -BEGIN_JUCE_NAMESPACE - -#ifdef JUCE_DEBUG - #define JUCE_DEBUG_XERRORS 1 -#endif - -Display* display = 0; // This is also referenced from WindowDriver.cpp -static Window juce_messageWindowHandle = None; - -#define SpecialAtom "JUCESpecialAtom" -#define BroadcastAtom "JUCEBroadcastAtom" -#define SpecialCallbackAtom "JUCESpecialCallbackAtom" - -static Atom specialId; -static Atom broadcastId; -static Atom specialCallbackId; - -// This is referenced from WindowDriver.cpp -XContext improbableNumber; - -// Defined in WindowDriver.cpp -extern void juce_windowMessageReceive (XEvent* event); - -struct MessageThreadFuncCall -{ - MessageCallbackFunction* func; - void* parameter; - void* result; - CriticalSection lock; - WaitableEvent event; -}; - -static bool errorCondition = false; -static XErrorHandler oldErrorHandler = (XErrorHandler) 0; -static XIOErrorHandler oldIOErrorHandler = (XIOErrorHandler) 0; - -// (defined in another file to avoid problems including certain headers in this one) -extern bool juce_isRunningAsApplication(); - -// Usually happens when client-server connection is broken -static int ioErrorHandler (Display* display) -{ - DBG (T("ERROR: connection to X server broken.. terminating.")); - - errorCondition = true; - - if (juce_isRunningAsApplication()) - Process::terminate(); - - return 0; -} - -// A protocol error has occurred -static int errorHandler (Display* display, XErrorEvent* event) -{ -#ifdef JUCE_DEBUG_XERRORS - char errorStr[64] = { 0 }; - char requestStr[64] = { 0 }; - - XGetErrorText (display, event->error_code, errorStr, 64); - - XGetErrorDatabaseText (display, - "XRequest", - (const char*) String (event->request_code), - "Unknown", - requestStr, - 64); - - DBG (T("ERROR: X returned ") + String (errorStr) + T(" for operation ") + String (requestStr)); -#endif - - return 0; -} - -static bool breakIn = false; - -// Breakin from keyboard -static void sig_handler (int sig) -{ - if (sig == SIGINT) - { - breakIn = true; - return; - } - - static bool reentrant = false; - - if (reentrant == false) - { - reentrant = true; - - // Illegal instruction - fflush (stdout); - Logger::outputDebugString ("ERROR: Program executed illegal instruction.. terminating"); - - errorCondition = true; - - if (juce_isRunningAsApplication()) - Process::terminate(); - } - else - { - if (juce_isRunningAsApplication()) - exit(0); - } -} - -void MessageManager::doPlatformSpecificInitialisation() -{ - // Initialise xlib for multiple thread support - static bool initThreadCalled = false; - - if (! initThreadCalled) - { - if (! XInitThreads()) - { - // This is fatal! Print error and closedown - Logger::outputDebugString ("Failed to initialise xlib thread support."); - - if (juce_isRunningAsApplication()) - Process::terminate(); - - return; - } - - initThreadCalled = true; - } - - // This is called if the client/server connection is broken - oldIOErrorHandler = XSetIOErrorHandler (ioErrorHandler); - - // This is called if a protocol error occurs - oldErrorHandler = XSetErrorHandler (errorHandler); - - // Install signal handler for break-in - struct sigaction saction; - sigset_t maskSet; - sigemptyset (&maskSet); - saction.sa_handler = sig_handler; - saction.sa_mask = maskSet; - saction.sa_flags = 0; - sigaction (SIGINT, &saction, NULL); - -#ifndef _DEBUG - // Setup signal handlers for various fatal errors - sigaction (SIGILL, &saction, NULL); - sigaction (SIGBUS, &saction, NULL); - sigaction (SIGFPE, &saction, NULL); - sigaction (SIGSEGV, &saction, NULL); - sigaction (SIGSYS, &saction, NULL); -#endif - - String displayName (getenv ("DISPLAY")); - if (displayName.isEmpty()) - displayName = T(":0.0"); - - display = XOpenDisplay (displayName); - - if (display == 0) - { - // This is fatal! Print error and closedown - Logger::outputDebugString ("Failed to open the X display."); - - if (juce_isRunningAsApplication()) - Process::terminate(); - - return; - } - - // Get defaults for various properties - int screen = DefaultScreen (display); - Window root = RootWindow (display, screen); - Visual* visual = DefaultVisual (display, screen); - - // Create atoms for our ClientMessages (these cannot be deleted) - specialId = XInternAtom (display, SpecialAtom, false); - broadcastId = XInternAtom (display, BroadcastAtom, false); - specialCallbackId = XInternAtom (display, SpecialCallbackAtom, false); - - // Create a context to store user data associated with Windows we - // create in WindowDriver - improbableNumber = XUniqueContext(); - - // We're only interested in client messages for this window - // which are always sent - XSetWindowAttributes swa; - swa.event_mask = NoEventMask; - - // Create our message window (this will never be mapped) - juce_messageWindowHandle = XCreateWindow (display, root, - 0, 0, 1, 1, 0, 0, InputOnly, - visual, CWEventMask, &swa); -} - -void MessageManager::doPlatformSpecificShutdown() -{ - if (errorCondition == false) - { - XDestroyWindow (display, juce_messageWindowHandle); - XCloseDisplay (display); - - // reset pointers - juce_messageWindowHandle = 0; - display = 0; - - // Restore original error handlers - XSetIOErrorHandler (oldIOErrorHandler); - oldIOErrorHandler = 0; - XSetErrorHandler (oldErrorHandler); - oldErrorHandler = 0; - } -} - -bool juce_postMessageToSystemQueue (void* message) -{ - if (errorCondition) - return false; - - XClientMessageEvent clientMsg; - clientMsg.display = display; - clientMsg.window = juce_messageWindowHandle; - clientMsg.type = ClientMessage; - clientMsg.format = 32; - clientMsg.message_type = specialId; -#if JUCE_64BIT - clientMsg.data.l[0] = (long) (0x00000000ffffffff & (((uint64) message) >> 32)); - clientMsg.data.l[1] = (long) (0x00000000ffffffff & (long) message); -#else - clientMsg.data.l[0] = (long) message; -#endif - - XSendEvent (display, juce_messageWindowHandle, false, - NoEventMask, (XEvent*) &clientMsg); - - XFlush (display); // This is necessary to ensure the event is delivered - - return true; -} - -void MessageManager::broadcastMessage (const String& value) throw() -{ -} - -void* MessageManager::callFunctionOnMessageThread (MessageCallbackFunction* func, - void* parameter) -{ - void* retVal = 0; - - if (! errorCondition) - { - if (! isThisTheMessageThread()) - { - static MessageThreadFuncCall messageFuncCallContext; - - const ScopedLock sl (messageFuncCallContext.lock); - - XClientMessageEvent clientMsg; - clientMsg.display = display; - clientMsg.window = juce_messageWindowHandle; - clientMsg.type = ClientMessage; - clientMsg.format = 32; - clientMsg.message_type = specialCallbackId; -#if JUCE_64BIT - clientMsg.data.l[0] = (long) (0x00000000ffffffff & (((uint64) &messageFuncCallContext) >> 32)); - clientMsg.data.l[1] = (long) (0x00000000ffffffff & (uint64) &messageFuncCallContext); -#else - clientMsg.data.l[0] = (long) &messageFuncCallContext; -#endif - - messageFuncCallContext.func = func; - messageFuncCallContext.parameter = parameter; - - if (XSendEvent (display, juce_messageWindowHandle, false, NoEventMask, (XEvent*) &clientMsg) == 0) - return 0; - - XFlush (display); // This is necessary to ensure the event is delivered - - // Wait for it to complete before continuing - messageFuncCallContext.event.wait(); - - retVal = messageFuncCallContext.result; - } - else - { - // Just call the function directly - retVal = func (parameter); - } - } - - return retVal; -} - -bool juce_dispatchNextMessageOnSystemQueue (bool returnIfNoPendingMessages) -{ - if (errorCondition) - return false; - - if (breakIn) - { - errorCondition = true; - - if (juce_isRunningAsApplication()) - Process::terminate(); - - return false; - } - - if (returnIfNoPendingMessages && ! XPending (display)) - return false; - - XEvent evt; - XNextEvent (display, &evt); - - if (evt.type == ClientMessage && evt.xany.window == juce_messageWindowHandle) - { - XClientMessageEvent* const clientMsg = (XClientMessageEvent*) &evt; - - if (clientMsg->format != 32) - { - jassertfalse - DBG ("Error: juce_dispatchNextMessageOnSystemQueue received malformed client message."); - } - else - { - JUCE_TRY - { -#if JUCE_64BIT - void* const messagePtr - = (void*) ((0xffffffff00000000 & (((uint64) clientMsg->data.l[0]) << 32)) - | (clientMsg->data.l[1] & 0x00000000ffffffff)); -#else - void* const messagePtr = (void*) (clientMsg->data.l[0]); -#endif - - if (clientMsg->message_type == specialId) - { - MessageManager::getInstance()->deliverMessage (messagePtr); - } - else if (clientMsg->message_type == specialCallbackId) - { - MessageThreadFuncCall* const call = (MessageThreadFuncCall*) messagePtr; - MessageCallbackFunction* func = call->func; - call->result = (*func) (call->parameter); - call->event.signal(); - } - else if (clientMsg->message_type == broadcastId) - { -#if 0 - TCHAR buffer[8192]; - zeromem (buffer, sizeof (buffer)); - - if (GlobalGetAtomName ((ATOM) lParam, buffer, 8192) != 0) - mq->deliverBroadcastMessage (String (buffer)); -#endif - } - else - { - DBG ("Error: juce_dispatchNextMessageOnSystemQueue received unknown client message."); - } - } - JUCE_CATCH_ALL - } - } - else if (evt.xany.window != juce_messageWindowHandle) - { - juce_windowMessageReceive (&evt); - } - - return true; -} - -END_JUCE_NAMESPACE -/********* End of inlined file: juce_linux_Messaging.cpp *********/ - -/********* Start of inlined file: juce_linux_Midi.cpp *********/ - -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - -#if JUCE_ALSA - -#include - -BEGIN_JUCE_NAMESPACE - -static snd_seq_t* iterateDevices (const bool forInput, - StringArray& deviceNamesFound, - const int deviceIndexToOpen) -{ - snd_seq_t* returnedHandle = 0; - snd_seq_t* seqHandle; - - if (snd_seq_open (&seqHandle, "default", forInput ? SND_SEQ_OPEN_INPUT - : SND_SEQ_OPEN_OUTPUT, 0) == 0) - { - snd_seq_system_info_t* systemInfo; - snd_seq_client_info_t* clientInfo; - - if (snd_seq_system_info_malloc (&systemInfo) == 0) - { - if (snd_seq_system_info (seqHandle, systemInfo) == 0 - && snd_seq_client_info_malloc (&clientInfo) == 0) - { - int numClients = snd_seq_system_info_get_cur_clients (systemInfo); - - while (--numClients >= 0 && returnedHandle == 0) - { - if (snd_seq_query_next_client (seqHandle, clientInfo) == 0) - { - snd_seq_port_info_t* portInfo; - if (snd_seq_port_info_malloc (&portInfo) == 0) - { - int numPorts = snd_seq_client_info_get_num_ports (clientInfo); - const int client = snd_seq_client_info_get_client (clientInfo); - - snd_seq_port_info_set_client (portInfo, client); - snd_seq_port_info_set_port (portInfo, -1); - - while (--numPorts >= 0) - { - if (snd_seq_query_next_port (seqHandle, portInfo) == 0 - && (snd_seq_port_info_get_capability (portInfo) - & (forInput ? SND_SEQ_PORT_CAP_READ - : SND_SEQ_PORT_CAP_WRITE)) != 0) - { - deviceNamesFound.add (snd_seq_client_info_get_name (clientInfo)); - - if (deviceNamesFound.size() == deviceIndexToOpen + 1) - { - const int sourcePort = snd_seq_port_info_get_port (portInfo); - const int sourceClient = snd_seq_client_info_get_client (clientInfo); - - if (sourcePort != -1) - { - snd_seq_set_client_name (seqHandle, - forInput ? "Juce Midi Input" - : "Juce Midi Output"); - - const int portId - = snd_seq_create_simple_port (seqHandle, - forInput ? "Juce Midi In Port" - : "Juce Midi Out Port", - forInput ? (SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE) - : (SND_SEQ_PORT_CAP_READ | SND_SEQ_PORT_CAP_SUBS_READ), - SND_SEQ_PORT_TYPE_MIDI_GENERIC); - - snd_seq_connect_from (seqHandle, portId, sourceClient, sourcePort); - - returnedHandle = seqHandle; - } - } - } - } - - snd_seq_port_info_free (portInfo); - } - } - } - - snd_seq_client_info_free (clientInfo); - } - - snd_seq_system_info_free (systemInfo); - } - - if (returnedHandle == 0) - snd_seq_close (seqHandle); - } - - deviceNamesFound.appendNumbersToDuplicates (true, true); - - return returnedHandle; -} - -static snd_seq_t* createDevice (const bool forInput, - const String& deviceNameToOpen) -{ - snd_seq_t* seqHandle = 0; - - if (snd_seq_open (&seqHandle, "default", forInput ? SND_SEQ_OPEN_INPUT - : SND_SEQ_OPEN_OUTPUT, 0) == 0) - { - snd_seq_set_client_name (seqHandle, - (const char*) (forInput ? (deviceNameToOpen + T(" Input")) - : (deviceNameToOpen + T(" Output")))); - - const int portId - = snd_seq_create_simple_port (seqHandle, - forInput ? "in" - : "out", - forInput ? (SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE) - : (SND_SEQ_PORT_CAP_READ | SND_SEQ_PORT_CAP_SUBS_READ), - forInput ? SND_SEQ_PORT_TYPE_APPLICATION - : SND_SEQ_PORT_TYPE_MIDI_GENERIC); - - if (portId < 0) - { - snd_seq_close (seqHandle); - seqHandle = 0; - } - } - - return seqHandle; -} - -class MidiOutputDevice -{ -public: - MidiOutputDevice (MidiOutput* const midiOutput_, - snd_seq_t* const seqHandle_) - : - midiOutput (midiOutput_), - seqHandle (seqHandle_), - maxEventSize (16 * 1024) - { - jassert (seqHandle != 0 && midiOutput != 0); - snd_midi_event_new (maxEventSize, &midiParser); - } - - ~MidiOutputDevice() - { - snd_midi_event_free (midiParser); - snd_seq_close (seqHandle); - } - - void sendMessageNow (const MidiMessage& message) - { - if (message.getRawDataSize() > maxEventSize) - { - maxEventSize = message.getRawDataSize(); - snd_midi_event_free (midiParser); - snd_midi_event_new (maxEventSize, &midiParser); - } - - snd_seq_event_t event; - snd_seq_ev_clear (&event); - - snd_midi_event_encode (midiParser, - message.getRawData(), - message.getRawDataSize(), - &event); - - snd_midi_event_reset_encode (midiParser); - - snd_seq_ev_set_source (&event, 0); - snd_seq_ev_set_subs (&event); - snd_seq_ev_set_direct (&event); - - snd_seq_event_output (seqHandle, &event); - snd_seq_drain_output (seqHandle); - } - - juce_UseDebuggingNewOperator - -private: - MidiOutput* const midiOutput; - snd_seq_t* const seqHandle; - snd_midi_event_t* midiParser; - int maxEventSize; -}; - -const StringArray MidiOutput::getDevices() -{ - StringArray devices; - iterateDevices (false, devices, -1); - return devices; -} - -int MidiOutput::getDefaultDeviceIndex() -{ - return 0; -} - -MidiOutput* MidiOutput::openDevice (int deviceIndex) -{ - MidiOutput* newDevice = 0; - - StringArray devices; - snd_seq_t* const handle = iterateDevices (false, devices, deviceIndex); - - if (handle != 0) - { - newDevice = new MidiOutput(); - newDevice->internal = new MidiOutputDevice (newDevice, handle); - } - - return newDevice; -} - -MidiOutput* MidiOutput::createNewDevice (const String& deviceName) -{ - MidiOutput* newDevice = 0; - - snd_seq_t* const handle = createDevice (false, deviceName); - - if (handle != 0) - { - newDevice = new MidiOutput(); - newDevice->internal = new MidiOutputDevice (newDevice, handle); - } - - return newDevice; -} - -MidiOutput::~MidiOutput() -{ - MidiOutputDevice* const device = (MidiOutputDevice*) internal; - delete device; -} - -void MidiOutput::reset() -{ -} - -bool MidiOutput::getVolume (float& leftVol, float& rightVol) -{ - return false; -} - -void MidiOutput::setVolume (float leftVol, float rightVol) -{ -} - -void MidiOutput::sendMessageNow (const MidiMessage& message) -{ - ((MidiOutputDevice*) internal)->sendMessageNow (message); -} - -class MidiInputThread : public Thread -{ -public: - MidiInputThread (MidiInput* const midiInput_, - snd_seq_t* const seqHandle_, - MidiInputCallback* const callback_) - : Thread (T("Juce MIDI Input")), - midiInput (midiInput_), - seqHandle (seqHandle_), - callback (callback_) - { - jassert (seqHandle != 0 && callback != 0 && midiInput != 0); - } - - ~MidiInputThread() - { - snd_seq_close (seqHandle); - } - - void run() - { - const int maxEventSize = 16 * 1024; - snd_midi_event_t* midiParser; - - if (snd_midi_event_new (maxEventSize, &midiParser) >= 0) - { - uint8* const buffer = (uint8*) juce_malloc (maxEventSize); - - const int numPfds = snd_seq_poll_descriptors_count (seqHandle, POLLIN); - struct pollfd* const pfd = (struct pollfd*) alloca (numPfds * sizeof (struct pollfd)); - - snd_seq_poll_descriptors (seqHandle, pfd, numPfds, POLLIN); - - while (! threadShouldExit()) - { - if (poll (pfd, numPfds, 500) > 0) - { - snd_seq_event_t* inputEvent = 0; - - snd_seq_nonblock (seqHandle, 1); - - do - { - if (snd_seq_event_input (seqHandle, &inputEvent) >= 0) - { - // xxx what about SYSEXes that are too big for the buffer? - const int numBytes = snd_midi_event_decode (midiParser, buffer, maxEventSize, inputEvent); - - snd_midi_event_reset_decode (midiParser); - - if (numBytes > 0) - { - const MidiMessage message ((const uint8*) buffer, - numBytes, - Time::getMillisecondCounter() * 0.001); - - callback->handleIncomingMidiMessage (midiInput, message); - } - - snd_seq_free_event (inputEvent); - } - } - while (snd_seq_event_input_pending (seqHandle, 0) > 0); - - snd_seq_free_event (inputEvent); - } - } - - snd_midi_event_free (midiParser); - juce_free (buffer); - } - }; - - juce_UseDebuggingNewOperator - -private: - MidiInput* const midiInput; - snd_seq_t* const seqHandle; - MidiInputCallback* const callback; -}; - -MidiInput::MidiInput (const String& name_) - : name (name_), - internal (0) -{ -} - -MidiInput::~MidiInput() -{ - stop(); - MidiInputThread* const thread = (MidiInputThread*) internal; - delete thread; -} - -void MidiInput::start() -{ - ((MidiInputThread*) internal)->startThread(); -} - -void MidiInput::stop() -{ - ((MidiInputThread*) internal)->stopThread (3000); -} - -int MidiInput::getDefaultDeviceIndex() -{ - return 0; -} - -const StringArray MidiInput::getDevices() -{ - StringArray devices; - iterateDevices (true, devices, -1); - return devices; -} - -MidiInput* MidiInput::openDevice (int deviceIndex, MidiInputCallback* callback) -{ - MidiInput* newDevice = 0; - - StringArray devices; - snd_seq_t* const handle = iterateDevices (true, devices, deviceIndex); - - if (handle != 0) - { - newDevice = new MidiInput (devices [deviceIndex]); - newDevice->internal = new MidiInputThread (newDevice, handle, callback); - } - - return newDevice; -} - -MidiInput* MidiInput::createNewDevice (const String& deviceName, MidiInputCallback* callback) -{ - MidiInput* newDevice = 0; - - snd_seq_t* const handle = createDevice (true, deviceName); - - if (handle != 0) - { - newDevice = new MidiInput (deviceName); - newDevice->internal = new MidiInputThread (newDevice, handle, callback); - } - - return newDevice; -} - -END_JUCE_NAMESPACE - -#else - -// (These are just stub functions if ALSA is unavailable...) - -BEGIN_JUCE_NAMESPACE - -const StringArray MidiOutput::getDevices() { return StringArray(); } -int MidiOutput::getDefaultDeviceIndex() { return 0; } -MidiOutput* MidiOutput::openDevice (int) { return 0; } -MidiOutput* MidiOutput::createNewDevice (const String&) { return 0; } -MidiOutput::~MidiOutput() {} -void MidiOutput::reset() {} -bool MidiOutput::getVolume (float&, float&) { return false; } -void MidiOutput::setVolume (float, float) {} -void MidiOutput::sendMessageNow (const MidiMessage&) {} - -MidiInput::MidiInput (const String& name_) - : name (name_), - internal (0) -{} - -MidiInput::~MidiInput() {} -void MidiInput::start() {} -void MidiInput::stop() {} -int MidiInput::getDefaultDeviceIndex() { return 0; } -const StringArray MidiInput::getDevices() { return StringArray(); } -MidiInput* MidiInput::openDevice (int, MidiInputCallback*) { return 0; } -MidiInput* MidiInput::createNewDevice (const String&, MidiInputCallback*) { return 0; } - -END_JUCE_NAMESPACE - -#endif -/********* End of inlined file: juce_linux_Midi.cpp *********/ - -/********* Start of inlined file: juce_linux_WebBrowserComponent.cpp *********/ - -BEGIN_JUCE_NAMESPACE - -#if JUCE_WEB_BROWSER - -/* - Sorry.. This class isn't implemented on Linux! -*/ - -WebBrowserComponent::WebBrowserComponent() - : browser (0), - blankPageShown (false) -{ - setOpaque (true); -} - -WebBrowserComponent::~WebBrowserComponent() -{ -} - -void WebBrowserComponent::goToURL (const String& url, - const StringArray* headers, - const MemoryBlock* postData) -{ - lastURL = url; - - lastHeaders.clear(); - if (headers != 0) - lastHeaders = *headers; - - lastPostData.setSize (0); - if (postData != 0) - lastPostData = *postData; - - blankPageShown = false; - -} - -void WebBrowserComponent::stop() -{ -} - -void WebBrowserComponent::goBack() -{ - lastURL = String::empty; - blankPageShown = false; - -} - -void WebBrowserComponent::goForward() -{ - lastURL = String::empty; - -} - -void WebBrowserComponent::refresh() -{ -} - -void WebBrowserComponent::paint (Graphics& g) -{ - g.fillAll (Colours::white); -} - -void WebBrowserComponent::checkWindowAssociation() -{ -} - -void WebBrowserComponent::reloadLastURL() -{ - if (lastURL.isNotEmpty()) - { - goToURL (lastURL, &lastHeaders, &lastPostData); - lastURL = String::empty; - } -} - -void WebBrowserComponent::parentHierarchyChanged() -{ - checkWindowAssociation(); -} - -void WebBrowserComponent::resized() -{ -} - -void WebBrowserComponent::visibilityChanged() -{ - checkWindowAssociation(); -} - -bool WebBrowserComponent::pageAboutToLoad (const String& url) -{ - return true; -} - -#endif -END_JUCE_NAMESPACE -/********* End of inlined file: juce_linux_WebBrowserComponent.cpp *********/ - /********* Start of inlined file: juce_linux_Windowing.cpp *********/ - -/********* Start of inlined file: juce_Config.h *********/ -#ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) - -/* - This file contains macros that enable/disable various JUCE features. -*/ - -/** The name of the namespace that all Juce classes and functions will be - put inside. If this is not defined, no namespace will be used. -*/ -#ifndef JUCE_NAMESPACE - #define JUCE_NAMESPACE juce -#endif - -/** Normally, JUCE_DEBUG is set to 1 or 0 based on compiler and project settings, - but if you define this value, you can override this can force it to be true or - false. -*/ -#ifndef JUCE_FORCE_DEBUG - //#define JUCE_FORCE_DEBUG 1 -#endif - -/** If this flag is enabled, the the jassert and jassertfalse macros will - always use Logger::writeToLog() to write a message when an assertion happens. - - Enabling it will also leave this turned on in release builds. When it's disabled, - however, the jassert and jassertfalse macros will not be compiled in a - release build. - - @see jassert, jassertfalse, Logger -*/ -#ifndef JUCE_LOG_ASSERTIONS -// #define JUCE_LOG_ASSERTIONS 1 -#endif - -/** Comment out this macro if you haven't got the Steinberg ASIO SDK, without - which the ASIOAudioIODevice class can't be built. See the comments in the - ASIOAudioIODevice class's header file for more info about this. - - (This only affects a Win32 build) -*/ -#ifndef JUCE_ASIO - #define JUCE_ASIO 1 -#endif - -/** Comment out this macro to disable building of ALSA device support on Linux. -*/ -#ifndef JUCE_ALSA - #define JUCE_ALSA 1 -#endif - -/** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat - classes will be unavailable. - - On Windows, if you enable this, you'll need to have the QuickTime SDK - installed, and its header files will need to be on your include path. -*/ -#if ! (defined (JUCE_QUICKTIME) || defined (LINUX) || (defined (_WIN32) && ! defined (_MSC_VER))) - #define JUCE_QUICKTIME 1 -#endif - -/** Comment out this macro if you don't want to enable OpenGL or if you don't - have the appropriate headers and libraries available. If it's not enabled, the - OpenGLComponent class will be unavailable. -*/ -#ifndef JUCE_OPENGL - #define JUCE_OPENGL 1 -#endif - -/** These flags enable the Ogg-Vorbis and Flac audio formats. - - If you're not going to need either of these formats, turn off the flags to - avoid bloating your codebase with them. -*/ -#ifndef JUCE_USE_FLAC - #define JUCE_USE_FLAC 1 -#endif - -#ifndef JUCE_USE_OGGVORBIS - #define JUCE_USE_OGGVORBIS 1 -#endif - -/** This flag lets you enable support for CD-burning. You might want to disable - it to build without the MS SDK under windows. -*/ -#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) - #define JUCE_USE_CDBURNER 1 -#endif - -/** Enabling this provides support for cameras, using the CameraDevice class -*/ -#if JUCE_QUICKTIME && ! defined (JUCE_USE_CAMERA) -// #define JUCE_USE_CAMERA 1 -#endif - -/** Enabling this macro means that all regions that get repainted will have a coloured - line drawn around them. - - This is handy if you're trying to optimise drawing, because it lets you easily see - when anything is being repainted unnecessarily. -*/ -#ifndef JUCE_ENABLE_REPAINT_DEBUGGING -// #define JUCE_ENABLE_REPAINT_DEBUGGING 1 -#endif - -/** Enable this under Linux to use Xinerama for multi-monitor support. -*/ -#ifndef JUCE_USE_XINERAMA - #define JUCE_USE_XINERAMA 1 -#endif - -/** Enable this under Linux to use XShm for faster shared-memory rendering. -*/ -#ifndef JUCE_USE_XSHM - #define JUCE_USE_XSHM 1 -#endif - -/** Enabling this builds support for VST audio plugins. - @see VSTPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_AU -*/ -#ifndef JUCE_PLUGINHOST_VST -// #define JUCE_PLUGINHOST_VST 1 -#endif - -/** Enabling this builds support for AudioUnit audio plugins. - @see AudioUnitPluginFormat, AudioPluginFormat, AudioPluginFormatManager, JUCE_PLUGINHOST_VST -*/ -#ifndef JUCE_PLUGINHOST_AU -// #define JUCE_PLUGINHOST_AU 1 -#endif - -/** Enabling this will avoid including any UI code in the build. This is handy for - writing command-line utilities, e.g. on linux boxes which don't have some - of the UI libraries installed. -*/ -#ifndef JUCE_ONLY_BUILD_CORE_LIBRARY - //#define JUCE_ONLY_BUILD_CORE_LIBRARY 1 -#endif - -/** This lets you disable building of the WebBrowserComponent, if it's not required. -*/ -#ifndef JUCE_WEB_BROWSER - #define JUCE_WEB_BROWSER 1 -#endif - -/** Setting this allows the build to use old Carbon libraries that will be - deprecated in newer versions of OSX. This is handy for some backwards-compatibility - reasons. -*/ -#ifndef JUCE_SUPPORT_CARBON - #define JUCE_SUPPORT_CARBON 1 -#endif - -/* These flags let you avoid the direct inclusion of some 3rd-party libs in the - codebase - you might need to use this if you're linking to some of these libraries - yourself. -*/ -#ifndef JUCE_INCLUDE_ZLIB_CODE - #define JUCE_INCLUDE_ZLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_FLAC_CODE - #define JUCE_INCLUDE_FLAC_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_OGGVORBIS_CODE - #define JUCE_INCLUDE_OGGVORBIS_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_PNGLIB_CODE - #define JUCE_INCLUDE_PNGLIB_CODE 1 -#endif - -#ifndef JUCE_INCLUDE_JPEGLIB_CODE - #define JUCE_INCLUDE_JPEGLIB_CODE 1 -#endif - -/** Enable this to add extra memory-leak info to the new and delete operators. - - (Currently, this only affects Windows builds in debug mode). -*/ -#ifndef JUCE_CHECK_MEMORY_LEAKS - #define JUCE_CHECK_MEMORY_LEAKS 1 -#endif - -/** Enable this to turn on juce's internal catching of exceptions. - - Turning it off will avoid any exception catching. With it on, all exceptions - are passed to the JUCEApplication::unhandledException() callback for logging. -*/ -#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS - #define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 -#endif - -/** If this macro is set, the Juce String class will use unicode as its - internal representation. If it isn't set, it'll use ANSI. -*/ -#ifndef JUCE_STRINGS_ARE_UNICODE - #define JUCE_STRINGS_ARE_UNICODE 1 -#endif - -#endif -/********* End of inlined file: juce_Config.h *********/ - -#include -#include -#include -#include -#include -#include -#include - -#if JUCE_USE_XINERAMA - /* If you're trying to use Xinerama, you'll need to install the "libxinerama-dev" package.. - */ - #include -#endif - -#if JUCE_USE_XSHM - #include - #include - #include -#endif - -#if JUCE_OPENGL - /* Got an include error here? - - If you want to install OpenGL support, the packages to get are "mesa-common-dev" - and "freeglut3-dev". - - Alternatively, you can turn off the JUCE_OPENGL flag in juce_Config.h if you - want to disable it. - */ - #include -#endif - -#undef KeyPress - -BEGIN_JUCE_NAMESPACE +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE #define TAKE_FOCUS 0 #define DELETE_WINDOW 1 @@ -265309,10 +252669,1607 @@ const int KeyPress::stopKey = (0xffeeff01) | extendedKeyModifier; const int KeyPress::fastForwardKey = (0xffeeff02) | extendedKeyModifier; const int KeyPress::rewindKey = (0xffeeff03) | extendedKeyModifier; -END_JUCE_NAMESPACE +#endif /********* End of inlined file: juce_linux_Windowing.cpp *********/ +/********* Start of inlined file: juce_linux_Audio.cpp *********/ +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE + +#if JUCE_ALSA + +static const int maxNumChans = 64; + +static void getDeviceSampleRates (snd_pcm_t* handle, Array & rates) +{ + const int ratesToTry[] = { 22050, 32000, 44100, 48000, 88200, 96000, 176400, 192000, 0 }; + + snd_pcm_hw_params_t* hwParams; + snd_pcm_hw_params_alloca (&hwParams); + + for (int i = 0; ratesToTry[i] != 0; ++i) + { + if (snd_pcm_hw_params_any (handle, hwParams) >= 0 + && snd_pcm_hw_params_test_rate (handle, hwParams, ratesToTry[i], 0) == 0) + { + rates.addIfNotAlreadyThere (ratesToTry[i]); + } + } +} + +static void getDeviceNumChannels (snd_pcm_t* handle, unsigned int* minChans, unsigned int* maxChans) +{ + snd_pcm_hw_params_t *params; + snd_pcm_hw_params_alloca (¶ms); + + if (snd_pcm_hw_params_any (handle, params) >= 0) + { + snd_pcm_hw_params_get_channels_min (params, minChans); + snd_pcm_hw_params_get_channels_max (params, maxChans); + } +} + +static void getDeviceProperties (const String& id, + unsigned int& minChansOut, + unsigned int& maxChansOut, + unsigned int& minChansIn, + unsigned int& maxChansIn, + Array & rates) +{ + if (id.isEmpty()) + return; + + snd_ctl_t* handle; + + if (snd_ctl_open (&handle, id.upToLastOccurrenceOf (T(","), false, false), SND_CTL_NONBLOCK) >= 0) + { + snd_pcm_info_t* info; + snd_pcm_info_alloca (&info); + + snd_pcm_info_set_stream (info, SND_PCM_STREAM_PLAYBACK); + snd_pcm_info_set_device (info, id.fromLastOccurrenceOf (T(","), false, false).getIntValue()); + snd_pcm_info_set_subdevice (info, 0); + + if (snd_ctl_pcm_info (handle, info) >= 0) + { + snd_pcm_t* pcmHandle; + if (snd_pcm_open (&pcmHandle, id, SND_PCM_STREAM_PLAYBACK, SND_PCM_ASYNC | SND_PCM_NONBLOCK ) >= 0) + { + getDeviceNumChannels (pcmHandle, &minChansOut, &maxChansOut); + getDeviceSampleRates (pcmHandle, rates); + + snd_pcm_close (pcmHandle); + } + } + + snd_pcm_info_set_stream (info, SND_PCM_STREAM_CAPTURE); + + if (snd_ctl_pcm_info (handle, info) >= 0) + { + snd_pcm_t* pcmHandle; + if (snd_pcm_open (&pcmHandle, id, SND_PCM_STREAM_CAPTURE, SND_PCM_ASYNC | SND_PCM_NONBLOCK ) >= 0) + { + getDeviceNumChannels (pcmHandle, &minChansIn, &maxChansIn); + + if (rates.size() == 0) + getDeviceSampleRates (pcmHandle, rates); + + snd_pcm_close (pcmHandle); + } + } + + snd_ctl_close (handle); + } +} + +class ALSADevice +{ +public: + ALSADevice (const String& id, + const bool forInput) + : handle (0), + bitDepth (16), + numChannelsRunning (0), + isInput (forInput), + sampleFormat (AudioDataConverters::int16LE) + { + failed (snd_pcm_open (&handle, id, + forInput ? SND_PCM_STREAM_CAPTURE : SND_PCM_STREAM_PLAYBACK, + SND_PCM_ASYNC)); + } + + ~ALSADevice() + { + if (handle != 0) + snd_pcm_close (handle); + } + + bool setParameters (unsigned int sampleRate, int numChannels, int bufferSize) + { + if (handle == 0) + return false; + + snd_pcm_hw_params_t* hwParams; + snd_pcm_hw_params_alloca (&hwParams); + + if (failed (snd_pcm_hw_params_any (handle, hwParams))) + return false; + + if (snd_pcm_hw_params_set_access (handle, hwParams, SND_PCM_ACCESS_RW_NONINTERLEAVED) >= 0) + isInterleaved = false; + else if (snd_pcm_hw_params_set_access (handle, hwParams, SND_PCM_ACCESS_RW_INTERLEAVED) >= 0) + isInterleaved = true; + else + { + jassertfalse + return false; + } + + const int formatsToTry[] = { SND_PCM_FORMAT_FLOAT_LE, 32, AudioDataConverters::float32LE, + SND_PCM_FORMAT_FLOAT_BE, 32, AudioDataConverters::float32BE, + SND_PCM_FORMAT_S32_LE, 32, AudioDataConverters::int32LE, + SND_PCM_FORMAT_S32_BE, 32, AudioDataConverters::int32BE, + SND_PCM_FORMAT_S24_3LE, 24, AudioDataConverters::int24LE, + SND_PCM_FORMAT_S24_3BE, 24, AudioDataConverters::int24BE, + SND_PCM_FORMAT_S16_LE, 16, AudioDataConverters::int16LE, + SND_PCM_FORMAT_S16_BE, 16, AudioDataConverters::int16BE }; + bitDepth = 0; + + for (int i = 0; i < numElementsInArray (formatsToTry); i += 3) + { + if (snd_pcm_hw_params_set_format (handle, hwParams, (_snd_pcm_format) formatsToTry [i]) >= 0) + { + bitDepth = formatsToTry [i + 1]; + sampleFormat = (AudioDataConverters::DataFormat) formatsToTry [i + 2]; + break; + } + } + + if (bitDepth == 0) + { + error = "device doesn't support a compatible PCM format"; + DBG (T("ALSA error: ") + error + T("\n")); + return false; + } + + int dir = 0; + unsigned int periods = 4; + snd_pcm_uframes_t samplesPerPeriod = bufferSize; + + if (failed (snd_pcm_hw_params_set_rate_near (handle, hwParams, &sampleRate, 0)) + || failed (snd_pcm_hw_params_set_channels (handle, hwParams, numChannels)) + || failed (snd_pcm_hw_params_set_periods_near (handle, hwParams, &periods, &dir)) + || failed (snd_pcm_hw_params_set_period_size_near (handle, hwParams, &samplesPerPeriod, &dir)) + || failed (snd_pcm_hw_params (handle, hwParams))) + { + return false; + } + + snd_pcm_sw_params_t* swParams; + snd_pcm_sw_params_alloca (&swParams); + snd_pcm_uframes_t boundary; + + if (failed (snd_pcm_sw_params_current (handle, swParams)) + || failed (snd_pcm_sw_params_get_boundary (swParams, &boundary)) + || failed (snd_pcm_sw_params_set_silence_threshold (handle, swParams, 0)) + || failed (snd_pcm_sw_params_set_silence_size (handle, swParams, boundary)) + || failed (snd_pcm_sw_params_set_start_threshold (handle, swParams, samplesPerPeriod)) + || failed (snd_pcm_sw_params_set_stop_threshold (handle, swParams, boundary)) + || failed (snd_pcm_sw_params (handle, swParams))) + { + return false; + } + + /* +#ifdef JUCE_DEBUG + // enable this to dump the config of the devices that get opened + snd_output_t* out; + snd_output_stdio_attach (&out, stderr, 0); + snd_pcm_hw_params_dump (hwParams, out); + snd_pcm_sw_params_dump (swParams, out); #endif + */ + + numChannelsRunning = numChannels; + + return true; + } + + bool write (float** const data, const int numSamples) + { + if (isInterleaved) + { + scratch.ensureSize (sizeof (float) * numSamples * numChannelsRunning, false); + float* interleaved = (float*) scratch; + + AudioDataConverters::interleaveSamples ((const float**) data, interleaved, numSamples, numChannelsRunning); + AudioDataConverters::convertFloatToFormat (sampleFormat, interleaved, interleaved, numSamples * numChannelsRunning); + + snd_pcm_sframes_t num = snd_pcm_writei (handle, (void*) interleaved, numSamples); + + if (failed (num) && num != -EPIPE && num != -ESTRPIPE) + return false; + } + else + { + for (int i = 0; i < numChannelsRunning; ++i) + if (data[i] != 0) + AudioDataConverters::convertFloatToFormat (sampleFormat, data[i], data[i], numSamples); + + snd_pcm_sframes_t num = snd_pcm_writen (handle, (void**) data, numSamples); + + if (failed (num)) + { + if (num == -EPIPE) + { + if (failed (snd_pcm_prepare (handle))) + return false; + } + else if (num != -ESTRPIPE) + return false; + } + } + + return true; + } + + bool read (float** const data, const int numSamples) + { + if (isInterleaved) + { + scratch.ensureSize (sizeof (float) * numSamples * numChannelsRunning, false); + float* interleaved = (float*) scratch; + + snd_pcm_sframes_t num = snd_pcm_readi (handle, (void*) interleaved, numSamples); + + if (failed (num)) + { + if (num == -EPIPE) + { + if (failed (snd_pcm_prepare (handle))) + return false; + } + else if (num != -ESTRPIPE) + return false; + } + + AudioDataConverters::convertFormatToFloat (sampleFormat, interleaved, interleaved, numSamples * numChannelsRunning); + AudioDataConverters::deinterleaveSamples (interleaved, data, numSamples, numChannelsRunning); + } + else + { + snd_pcm_sframes_t num = snd_pcm_readn (handle, (void**) data, numSamples); + + if (failed (num) && num != -EPIPE && num != -ESTRPIPE) + return false; + + for (int i = 0; i < numChannelsRunning; ++i) + if (data[i] != 0) + AudioDataConverters::convertFormatToFloat (sampleFormat, data[i], data[i], numSamples); + } + + return true; + } + + juce_UseDebuggingNewOperator + + snd_pcm_t* handle; + String error; + int bitDepth, numChannelsRunning; + +private: + const bool isInput; + bool isInterleaved; + MemoryBlock scratch; + AudioDataConverters::DataFormat sampleFormat; + + bool failed (const int errorNum) + { + if (errorNum >= 0) + return false; + + error = snd_strerror (errorNum); + DBG (T("ALSA error: ") + error + T("\n")); + return true; + } +}; + +class ALSAThread : public Thread +{ +public: + ALSAThread (const String& inputId_, + const String& outputId_) + : Thread ("Juce ALSA"), + sampleRate (0), + bufferSize (0), + callback (0), + inputId (inputId_), + outputId (outputId_), + outputDevice (0), + inputDevice (0), + numCallbacks (0), + totalNumInputChannels (0), + totalNumOutputChannels (0) + { + zeromem (outputChannelData, sizeof (outputChannelData)); + zeromem (outputChannelDataForCallback, sizeof (outputChannelDataForCallback)); + zeromem (inputChannelData, sizeof (inputChannelData)); + zeromem (inputChannelDataForCallback, sizeof (inputChannelDataForCallback)); + + initialiseRatesAndChannels(); + } + + ~ALSAThread() + { + close(); + } + + void open (BitArray inputChannels, + BitArray outputChannels, + const double sampleRate_, + const int bufferSize_) + { + close(); + + error = String::empty; + sampleRate = sampleRate_; + bufferSize = bufferSize_; + currentInputChans.clear(); + currentOutputChans.clear(); + + if (inputChannels.getHighestBit() >= 0) + { + for (int i = 0; i <= jmax (inputChannels.getHighestBit(), minChansIn); ++i) + { + inputChannelData [i] = (float*) juce_calloc (sizeof (float) * bufferSize); + + if (inputChannels[i]) + { + inputChannelDataForCallback [totalNumInputChannels++] = inputChannelData [i]; + currentInputChans.setBit (i); + } + } + } + + if (outputChannels.getHighestBit() >= 0) + { + for (int i = 0; i <= jmax (outputChannels.getHighestBit(), minChansOut); ++i) + { + outputChannelData [i] = (float*) juce_calloc (sizeof (float) * bufferSize); + + if (outputChannels[i]) + { + outputChannelDataForCallback [totalNumOutputChannels++] = outputChannelData [i]; + currentOutputChans.setBit (i); + } + } + } + + if (totalNumOutputChannels > 0 && outputId.isNotEmpty()) + { + outputDevice = new ALSADevice (outputId, false); + + if (outputDevice->error.isNotEmpty()) + { + error = outputDevice->error; + deleteAndZero (outputDevice); + return; + } + + currentOutputChans.setRange (0, minChansOut, true); + + if (! outputDevice->setParameters ((unsigned int) sampleRate, + jlimit ((int) minChansOut, (int) maxChansOut, currentOutputChans.getHighestBit() + 1), + bufferSize)) + { + error = outputDevice->error; + deleteAndZero (outputDevice); + return; + } + } + + if (totalNumInputChannels > 0 && inputId.isNotEmpty()) + { + inputDevice = new ALSADevice (inputId, true); + + if (inputDevice->error.isNotEmpty()) + { + error = inputDevice->error; + deleteAndZero (inputDevice); + return; + } + + currentInputChans.setRange (0, minChansIn, true); + + if (! inputDevice->setParameters ((unsigned int) sampleRate, + jlimit ((int) minChansIn, (int) maxChansIn, currentInputChans.getHighestBit() + 1), + bufferSize)) + { + error = inputDevice->error; + deleteAndZero (inputDevice); + return; + } + } + + if (outputDevice == 0 && inputDevice == 0) + { + error = "no channels"; + return; + } + + if (outputDevice != 0 && inputDevice != 0) + { + snd_pcm_link (outputDevice->handle, inputDevice->handle); + } + + if (inputDevice != 0 && failed (snd_pcm_prepare (inputDevice->handle))) + return; + + if (outputDevice != 0 && failed (snd_pcm_prepare (outputDevice->handle))) + return; + + startThread (9); + + int count = 1000; + + while (numCallbacks == 0) + { + sleep (5); + + if (--count < 0 || ! isThreadRunning()) + { + error = "device didn't start"; + break; + } + } + } + + void close() + { + stopThread (6000); + + deleteAndZero (inputDevice); + deleteAndZero (outputDevice); + + for (int i = 0; i < maxNumChans; ++i) + { + juce_free (inputChannelData [i]); + juce_free (outputChannelData [i]); + } + + zeromem (outputChannelData, sizeof (outputChannelData)); + zeromem (outputChannelDataForCallback, sizeof (outputChannelDataForCallback)); + zeromem (inputChannelData, sizeof (inputChannelData)); + zeromem (inputChannelDataForCallback, sizeof (inputChannelDataForCallback)); + totalNumOutputChannels = 0; + totalNumInputChannels = 0; + + numCallbacks = 0; + } + + void setCallback (AudioIODeviceCallback* const newCallback) throw() + { + const ScopedLock sl (callbackLock); + callback = newCallback; + } + + void run() + { + while (! threadShouldExit()) + { + if (inputDevice != 0) + { + if (! inputDevice->read (inputChannelData, bufferSize)) + { + DBG ("ALSA: read failure"); + break; + } + } + + if (threadShouldExit()) + break; + + { + const ScopedLock sl (callbackLock); + ++numCallbacks; + + if (callback != 0) + { + callback->audioDeviceIOCallback ((const float**) inputChannelDataForCallback, + totalNumInputChannels, + outputChannelDataForCallback, + totalNumOutputChannels, + bufferSize); + } + else + { + for (int i = 0; i < totalNumOutputChannels; ++i) + zeromem (outputChannelDataForCallback[i], sizeof (float) * bufferSize); + } + } + + if (outputDevice != 0) + { + failed (snd_pcm_wait (outputDevice->handle, 2000)); + + if (threadShouldExit()) + break; + + failed (snd_pcm_avail_update (outputDevice->handle)); + + if (! outputDevice->write (outputChannelData, bufferSize)) + { + DBG ("ALSA: write failure"); + break; + } + } + } + } + + int getBitDepth() const throw() + { + if (outputDevice != 0) + return outputDevice->bitDepth; + + if (inputDevice != 0) + return inputDevice->bitDepth; + + return 16; + } + + juce_UseDebuggingNewOperator + + String error; + double sampleRate; + int bufferSize; + BitArray currentInputChans, currentOutputChans; + + Array sampleRates; + StringArray channelNamesOut, channelNamesIn; + AudioIODeviceCallback* callback; + +private: + + const String inputId, outputId; + ALSADevice* outputDevice; + ALSADevice* inputDevice; + int numCallbacks; + + CriticalSection callbackLock; + + float* outputChannelData [maxNumChans]; + float* outputChannelDataForCallback [maxNumChans]; + int totalNumInputChannels; + float* inputChannelData [maxNumChans]; + float* inputChannelDataForCallback [maxNumChans]; + int totalNumOutputChannels; + + unsigned int minChansOut, maxChansOut; + unsigned int minChansIn, maxChansIn; + + bool failed (const int errorNum) throw() + { + if (errorNum >= 0) + return false; + + error = snd_strerror (errorNum); + DBG (T("ALSA error: ") + error + T("\n")); + return true; + } + + void initialiseRatesAndChannels() throw() + { + sampleRates.clear(); + channelNamesOut.clear(); + channelNamesIn.clear(); + minChansOut = 0; + maxChansOut = 0; + minChansIn = 0; + maxChansIn = 0; + unsigned int dummy = 0; + + getDeviceProperties (inputId, dummy, dummy, minChansIn, maxChansIn, sampleRates); + getDeviceProperties (outputId, minChansOut, maxChansOut, dummy, dummy, sampleRates); + + unsigned int i; + for (i = 0; i < maxChansOut; ++i) + channelNamesOut.add (T("channel ") + String ((int) i + 1)); + + for (i = 0; i < maxChansIn; ++i) + channelNamesIn.add (T("channel ") + String ((int) i + 1)); + } +}; + +class ALSAAudioIODevice : public AudioIODevice +{ +public: + ALSAAudioIODevice (const String& deviceName, + const String& inputId_, + const String& outputId_) + : AudioIODevice (deviceName, T("ALSA")), + inputId (inputId_), + outputId (outputId_), + isOpen_ (false), + isStarted (false), + internal (0) + { + internal = new ALSAThread (inputId, outputId); + } + + ~ALSAAudioIODevice() + { + delete internal; + } + + const StringArray getOutputChannelNames() + { + return internal->channelNamesOut; + } + + const StringArray getInputChannelNames() + { + return internal->channelNamesIn; + } + + int getNumSampleRates() + { + return internal->sampleRates.size(); + } + + double getSampleRate (int index) + { + return internal->sampleRates [index]; + } + + int getNumBufferSizesAvailable() + { + return 50; + } + + int getBufferSizeSamples (int index) + { + int n = 16; + for (int i = 0; i < index; ++i) + n += n < 64 ? 16 + : (n < 512 ? 32 + : (n < 1024 ? 64 + : (n < 2048 ? 128 : 256))); + + return n; + } + + int getDefaultBufferSize() + { + return 512; + } + + const String open (const BitArray& inputChannels, + const BitArray& outputChannels, + double sampleRate, + int bufferSizeSamples) + { + close(); + + if (bufferSizeSamples <= 0) + bufferSizeSamples = getDefaultBufferSize(); + + if (sampleRate <= 0) + { + for (int i = 0; i < getNumSampleRates(); ++i) + { + if (getSampleRate (i) >= 44100) + { + sampleRate = getSampleRate (i); + break; + } + } + } + + internal->open (inputChannels, outputChannels, + sampleRate, bufferSizeSamples); + + isOpen_ = internal->error.isEmpty(); + return internal->error; + } + + void close() + { + stop(); + internal->close(); + isOpen_ = false; + } + + bool isOpen() + { + return isOpen_; + } + + int getCurrentBufferSizeSamples() + { + return internal->bufferSize; + } + + double getCurrentSampleRate() + { + return internal->sampleRate; + } + + int getCurrentBitDepth() + { + return internal->getBitDepth(); + } + + const BitArray getActiveOutputChannels() const + { + return internal->currentOutputChans; + } + + const BitArray getActiveInputChannels() const + { + return internal->currentInputChans; + } + + int getOutputLatencyInSamples() + { + return 0; + } + + int getInputLatencyInSamples() + { + return 0; + } + + void start (AudioIODeviceCallback* callback) + { + if (! isOpen_) + callback = 0; + + internal->setCallback (callback); + + if (callback != 0) + callback->audioDeviceAboutToStart (this); + + isStarted = (callback != 0); + } + + void stop() + { + AudioIODeviceCallback* const oldCallback = internal->callback; + + start (0); + + if (oldCallback != 0) + oldCallback->audioDeviceStopped(); + } + + bool isPlaying() + { + return isStarted && internal->error.isEmpty(); + } + + const String getLastError() + { + return internal->error; + } + + String inputId, outputId; + +private: + bool isOpen_, isStarted; + ALSAThread* internal; +}; + +class ALSAAudioIODeviceType : public AudioIODeviceType +{ +public: + + ALSAAudioIODeviceType() + : AudioIODeviceType (T("ALSA")), + hasScanned (false) + { + } + + ~ALSAAudioIODeviceType() + { + } + + void scanForDevices() + { + if (hasScanned) + return; + + hasScanned = true; + inputNames.clear(); + inputIds.clear(); + outputNames.clear(); + outputIds.clear(); + + snd_ctl_t* handle; + snd_ctl_card_info_t* info; + snd_ctl_card_info_alloca (&info); + + int cardNum = -1; + + while (outputIds.size() + inputIds.size() <= 32) + { + snd_card_next (&cardNum); + + if (cardNum < 0) + break; + + if (snd_ctl_open (&handle, T("hw:") + String (cardNum), SND_CTL_NONBLOCK) >= 0) + { + if (snd_ctl_card_info (handle, info) >= 0) + { + String cardId (snd_ctl_card_info_get_id (info)); + + if (cardId.removeCharacters (T("0123456789")).isEmpty()) + cardId = String (cardNum); + + int device = -1; + + for (;;) + { + if (snd_ctl_pcm_next_device (handle, &device) < 0 || device < 0) + break; + + String id, name; + id << "hw:" << cardId << ',' << device; + + bool isInput, isOutput; + + if (testDevice (id, isInput, isOutput)) + { + name << snd_ctl_card_info_get_name (info); + + if (name.isEmpty()) + name = id; + + if (isInput) + { + inputNames.add (name); + inputIds.add (id); + } + + if (isOutput) + { + outputNames.add (name); + outputIds.add (id); + } + } + } + } + + snd_ctl_close (handle); + } + } + + inputNames.appendNumbersToDuplicates (false, true); + outputNames.appendNumbersToDuplicates (false, true); + } + + const StringArray getDeviceNames (const bool wantInputNames) const + { + jassert (hasScanned); // need to call scanForDevices() before doing this + + return wantInputNames ? inputNames : outputNames; + } + + int getDefaultDeviceIndex (const bool forInput) const + { + jassert (hasScanned); // need to call scanForDevices() before doing this + return 0; + } + + bool hasSeparateInputsAndOutputs() const { return true; } + + int getIndexOfDevice (AudioIODevice* device, const bool asInput) const + { + jassert (hasScanned); // need to call scanForDevices() before doing this + + ALSAAudioIODevice* const d = dynamic_cast (device); + if (d == 0) + return -1; + + return asInput ? inputIds.indexOf (d->inputId) + : outputIds.indexOf (d->outputId); + } + + AudioIODevice* createDevice (const String& outputDeviceName, + const String& inputDeviceName) + { + jassert (hasScanned); // need to call scanForDevices() before doing this + + const int inputIndex = inputNames.indexOf (inputDeviceName); + const int outputIndex = outputNames.indexOf (outputDeviceName); + + String deviceName (outputDeviceName); + if (deviceName.isEmpty()) + deviceName = inputDeviceName; + + if (index >= 0) + return new ALSAAudioIODevice (deviceName, + inputIds [inputIndex], + outputIds [outputIndex]); + + return 0; + } + + juce_UseDebuggingNewOperator + +private: + StringArray inputNames, outputNames, inputIds, outputIds; + bool hasScanned; + + static bool testDevice (const String& id, bool& isInput, bool& isOutput) + { + unsigned int minChansOut = 0, maxChansOut = 0; + unsigned int minChansIn = 0, maxChansIn = 0; + Array rates; + + getDeviceProperties (id, minChansOut, maxChansOut, minChansIn, maxChansIn, rates); + + DBG (T("ALSA device: ") + id + + T(" outs=") + String ((int) minChansOut) + T("-") + String ((int) maxChansOut) + + T(" ins=") + String ((int) minChansIn) + T("-") + String ((int) maxChansIn) + + T(" rates=") + String (rates.size())); + + isInput = maxChansIn > 0; + isOutput = maxChansOut > 0; + + return (isInput || isOutput) && rates.size() > 0; + } + + ALSAAudioIODeviceType (const ALSAAudioIODeviceType&); + const ALSAAudioIODeviceType& operator= (const ALSAAudioIODeviceType&); +}; + +AudioIODeviceType* juce_createDefaultAudioIODeviceType() +{ + return new ALSAAudioIODeviceType(); +} + +#else // if ALSA is turned off.. + +AudioIODeviceType* juce_createDefaultAudioIODeviceType() +{ + return 0; +} + +#endif +#endif +/********* End of inlined file: juce_linux_Audio.cpp *********/ + +/********* Start of inlined file: juce_linux_Midi.cpp *********/ +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE + +#if JUCE_ALSA + +static snd_seq_t* iterateDevices (const bool forInput, + StringArray& deviceNamesFound, + const int deviceIndexToOpen) +{ + snd_seq_t* returnedHandle = 0; + snd_seq_t* seqHandle; + + if (snd_seq_open (&seqHandle, "default", forInput ? SND_SEQ_OPEN_INPUT + : SND_SEQ_OPEN_OUTPUT, 0) == 0) + { + snd_seq_system_info_t* systemInfo; + snd_seq_client_info_t* clientInfo; + + if (snd_seq_system_info_malloc (&systemInfo) == 0) + { + if (snd_seq_system_info (seqHandle, systemInfo) == 0 + && snd_seq_client_info_malloc (&clientInfo) == 0) + { + int numClients = snd_seq_system_info_get_cur_clients (systemInfo); + + while (--numClients >= 0 && returnedHandle == 0) + { + if (snd_seq_query_next_client (seqHandle, clientInfo) == 0) + { + snd_seq_port_info_t* portInfo; + if (snd_seq_port_info_malloc (&portInfo) == 0) + { + int numPorts = snd_seq_client_info_get_num_ports (clientInfo); + const int client = snd_seq_client_info_get_client (clientInfo); + + snd_seq_port_info_set_client (portInfo, client); + snd_seq_port_info_set_port (portInfo, -1); + + while (--numPorts >= 0) + { + if (snd_seq_query_next_port (seqHandle, portInfo) == 0 + && (snd_seq_port_info_get_capability (portInfo) + & (forInput ? SND_SEQ_PORT_CAP_READ + : SND_SEQ_PORT_CAP_WRITE)) != 0) + { + deviceNamesFound.add (snd_seq_client_info_get_name (clientInfo)); + + if (deviceNamesFound.size() == deviceIndexToOpen + 1) + { + const int sourcePort = snd_seq_port_info_get_port (portInfo); + const int sourceClient = snd_seq_client_info_get_client (clientInfo); + + if (sourcePort != -1) + { + snd_seq_set_client_name (seqHandle, + forInput ? "Juce Midi Input" + : "Juce Midi Output"); + + const int portId + = snd_seq_create_simple_port (seqHandle, + forInput ? "Juce Midi In Port" + : "Juce Midi Out Port", + forInput ? (SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE) + : (SND_SEQ_PORT_CAP_READ | SND_SEQ_PORT_CAP_SUBS_READ), + SND_SEQ_PORT_TYPE_MIDI_GENERIC); + + snd_seq_connect_from (seqHandle, portId, sourceClient, sourcePort); + + returnedHandle = seqHandle; + } + } + } + } + + snd_seq_port_info_free (portInfo); + } + } + } + + snd_seq_client_info_free (clientInfo); + } + + snd_seq_system_info_free (systemInfo); + } + + if (returnedHandle == 0) + snd_seq_close (seqHandle); + } + + deviceNamesFound.appendNumbersToDuplicates (true, true); + + return returnedHandle; +} + +static snd_seq_t* createDevice (const bool forInput, + const String& deviceNameToOpen) +{ + snd_seq_t* seqHandle = 0; + + if (snd_seq_open (&seqHandle, "default", forInput ? SND_SEQ_OPEN_INPUT + : SND_SEQ_OPEN_OUTPUT, 0) == 0) + { + snd_seq_set_client_name (seqHandle, + (const char*) (forInput ? (deviceNameToOpen + T(" Input")) + : (deviceNameToOpen + T(" Output")))); + + const int portId + = snd_seq_create_simple_port (seqHandle, + forInput ? "in" + : "out", + forInput ? (SND_SEQ_PORT_CAP_WRITE | SND_SEQ_PORT_CAP_SUBS_WRITE) + : (SND_SEQ_PORT_CAP_READ | SND_SEQ_PORT_CAP_SUBS_READ), + forInput ? SND_SEQ_PORT_TYPE_APPLICATION + : SND_SEQ_PORT_TYPE_MIDI_GENERIC); + + if (portId < 0) + { + snd_seq_close (seqHandle); + seqHandle = 0; + } + } + + return seqHandle; +} + +class MidiOutputDevice +{ +public: + MidiOutputDevice (MidiOutput* const midiOutput_, + snd_seq_t* const seqHandle_) + : + midiOutput (midiOutput_), + seqHandle (seqHandle_), + maxEventSize (16 * 1024) + { + jassert (seqHandle != 0 && midiOutput != 0); + snd_midi_event_new (maxEventSize, &midiParser); + } + + ~MidiOutputDevice() + { + snd_midi_event_free (midiParser); + snd_seq_close (seqHandle); + } + + void sendMessageNow (const MidiMessage& message) + { + if (message.getRawDataSize() > maxEventSize) + { + maxEventSize = message.getRawDataSize(); + snd_midi_event_free (midiParser); + snd_midi_event_new (maxEventSize, &midiParser); + } + + snd_seq_event_t event; + snd_seq_ev_clear (&event); + + snd_midi_event_encode (midiParser, + message.getRawData(), + message.getRawDataSize(), + &event); + + snd_midi_event_reset_encode (midiParser); + + snd_seq_ev_set_source (&event, 0); + snd_seq_ev_set_subs (&event); + snd_seq_ev_set_direct (&event); + + snd_seq_event_output (seqHandle, &event); + snd_seq_drain_output (seqHandle); + } + + juce_UseDebuggingNewOperator + +private: + MidiOutput* const midiOutput; + snd_seq_t* const seqHandle; + snd_midi_event_t* midiParser; + int maxEventSize; +}; + +const StringArray MidiOutput::getDevices() +{ + StringArray devices; + iterateDevices (false, devices, -1); + return devices; +} + +int MidiOutput::getDefaultDeviceIndex() +{ + return 0; +} + +MidiOutput* MidiOutput::openDevice (int deviceIndex) +{ + MidiOutput* newDevice = 0; + + StringArray devices; + snd_seq_t* const handle = iterateDevices (false, devices, deviceIndex); + + if (handle != 0) + { + newDevice = new MidiOutput(); + newDevice->internal = new MidiOutputDevice (newDevice, handle); + } + + return newDevice; +} + +MidiOutput* MidiOutput::createNewDevice (const String& deviceName) +{ + MidiOutput* newDevice = 0; + + snd_seq_t* const handle = createDevice (false, deviceName); + + if (handle != 0) + { + newDevice = new MidiOutput(); + newDevice->internal = new MidiOutputDevice (newDevice, handle); + } + + return newDevice; +} + +MidiOutput::~MidiOutput() +{ + MidiOutputDevice* const device = (MidiOutputDevice*) internal; + delete device; +} + +void MidiOutput::reset() +{ +} + +bool MidiOutput::getVolume (float& leftVol, float& rightVol) +{ + return false; +} + +void MidiOutput::setVolume (float leftVol, float rightVol) +{ +} + +void MidiOutput::sendMessageNow (const MidiMessage& message) +{ + ((MidiOutputDevice*) internal)->sendMessageNow (message); +} + +class MidiInputThread : public Thread +{ +public: + MidiInputThread (MidiInput* const midiInput_, + snd_seq_t* const seqHandle_, + MidiInputCallback* const callback_) + : Thread (T("Juce MIDI Input")), + midiInput (midiInput_), + seqHandle (seqHandle_), + callback (callback_) + { + jassert (seqHandle != 0 && callback != 0 && midiInput != 0); + } + + ~MidiInputThread() + { + snd_seq_close (seqHandle); + } + + void run() + { + const int maxEventSize = 16 * 1024; + snd_midi_event_t* midiParser; + + if (snd_midi_event_new (maxEventSize, &midiParser) >= 0) + { + uint8* const buffer = (uint8*) juce_malloc (maxEventSize); + + const int numPfds = snd_seq_poll_descriptors_count (seqHandle, POLLIN); + struct pollfd* const pfd = (struct pollfd*) alloca (numPfds * sizeof (struct pollfd)); + + snd_seq_poll_descriptors (seqHandle, pfd, numPfds, POLLIN); + + while (! threadShouldExit()) + { + if (poll (pfd, numPfds, 500) > 0) + { + snd_seq_event_t* inputEvent = 0; + + snd_seq_nonblock (seqHandle, 1); + + do + { + if (snd_seq_event_input (seqHandle, &inputEvent) >= 0) + { + // xxx what about SYSEXes that are too big for the buffer? + const int numBytes = snd_midi_event_decode (midiParser, buffer, maxEventSize, inputEvent); + + snd_midi_event_reset_decode (midiParser); + + if (numBytes > 0) + { + const MidiMessage message ((const uint8*) buffer, + numBytes, + Time::getMillisecondCounter() * 0.001); + + callback->handleIncomingMidiMessage (midiInput, message); + } + + snd_seq_free_event (inputEvent); + } + } + while (snd_seq_event_input_pending (seqHandle, 0) > 0); + + snd_seq_free_event (inputEvent); + } + } + + snd_midi_event_free (midiParser); + juce_free (buffer); + } + }; + + juce_UseDebuggingNewOperator + +private: + MidiInput* const midiInput; + snd_seq_t* const seqHandle; + MidiInputCallback* const callback; +}; + +MidiInput::MidiInput (const String& name_) + : name (name_), + internal (0) +{ +} + +MidiInput::~MidiInput() +{ + stop(); + MidiInputThread* const thread = (MidiInputThread*) internal; + delete thread; +} + +void MidiInput::start() +{ + ((MidiInputThread*) internal)->startThread(); +} + +void MidiInput::stop() +{ + ((MidiInputThread*) internal)->stopThread (3000); +} + +int MidiInput::getDefaultDeviceIndex() +{ + return 0; +} + +const StringArray MidiInput::getDevices() +{ + StringArray devices; + iterateDevices (true, devices, -1); + return devices; +} + +MidiInput* MidiInput::openDevice (int deviceIndex, MidiInputCallback* callback) +{ + MidiInput* newDevice = 0; + + StringArray devices; + snd_seq_t* const handle = iterateDevices (true, devices, deviceIndex); + + if (handle != 0) + { + newDevice = new MidiInput (devices [deviceIndex]); + newDevice->internal = new MidiInputThread (newDevice, handle, callback); + } + + return newDevice; +} + +MidiInput* MidiInput::createNewDevice (const String& deviceName, MidiInputCallback* callback) +{ + MidiInput* newDevice = 0; + + snd_seq_t* const handle = createDevice (true, deviceName); + + if (handle != 0) + { + newDevice = new MidiInput (deviceName); + newDevice->internal = new MidiInputThread (newDevice, handle, callback); + } + + return newDevice; +} + +#else + +// (These are just stub functions if ALSA is unavailable...) + +const StringArray MidiOutput::getDevices() { return StringArray(); } +int MidiOutput::getDefaultDeviceIndex() { return 0; } +MidiOutput* MidiOutput::openDevice (int) { return 0; } +MidiOutput* MidiOutput::createNewDevice (const String&) { return 0; } +MidiOutput::~MidiOutput() {} +void MidiOutput::reset() {} +bool MidiOutput::getVolume (float&, float&) { return false; } +void MidiOutput::setVolume (float, float) {} +void MidiOutput::sendMessageNow (const MidiMessage&) {} + +MidiInput::MidiInput (const String& name_) : name (name_), internal (0) {} +MidiInput::~MidiInput() {} +void MidiInput::start() {} +void MidiInput::stop() {} +int MidiInput::getDefaultDeviceIndex() { return 0; } +const StringArray MidiInput::getDevices() { return StringArray(); } +MidiInput* MidiInput::openDevice (int, MidiInputCallback*) { return 0; } +MidiInput* MidiInput::createNewDevice (const String&, MidiInputCallback*) { return 0; } + +#endif +#endif +/********* End of inlined file: juce_linux_Midi.cpp *********/ + +/********* Start of inlined file: juce_linux_AudioCDReader.cpp *********/ +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE + +AudioCDReader::AudioCDReader() + : AudioFormatReader (0, T("CD Audio")) +{ +} + +const StringArray AudioCDReader::getAvailableCDNames() +{ + StringArray names; + return names; +} + +AudioCDReader* AudioCDReader::createReaderForCD (const int index) +{ + return 0; +} + +AudioCDReader::~AudioCDReader() +{ +} + +void AudioCDReader::refreshTrackLengths() +{ +} + +bool AudioCDReader::readSamples (int** destSamples, int numDestChannels, int startOffsetInDestBuffer, + int64 startSampleInFile, int numSamples) +{ + return false; +} + +bool AudioCDReader::isCDStillPresent() const +{ + return false; +} + +int AudioCDReader::getNumTracks() const +{ + return 0; +} + +int AudioCDReader::getPositionOfTrackStart (int trackNum) const +{ + return 0; +} + +bool AudioCDReader::isTrackAudio (int trackNum) const +{ + return false; +} + +void AudioCDReader::enableIndexScanning (bool b) +{ +} + +int AudioCDReader::getLastIndex() const +{ + return 0; +} + +const Array AudioCDReader::findIndexesInTrack (const int trackNumber) +{ + return Array(); +} + +int AudioCDReader::getCDDBId() +{ + return 0; +} + +#endif +/********* End of inlined file: juce_linux_AudioCDReader.cpp *********/ + +/********* Start of inlined file: juce_linux_FileChooser.cpp *********/ +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE + +void FileChooser::showPlatformDialog (OwnedArray& results, + const String& title, + const File& file, + const String& filters, + bool isDirectory, + bool isSave, + bool warnAboutOverwritingExistingFiles, + bool selectMultipleFiles, + FilePreviewComponent* previewComponent) +{ + //xxx ain't got one! + jassertfalse +} + +#endif +/********* End of inlined file: juce_linux_FileChooser.cpp *********/ + +/********* Start of inlined file: juce_linux_WebBrowserComponent.cpp *********/ +// (This file gets included by juce_linux_NativeCode.cpp, rather than being +// compiled on its own). +#ifdef JUCE_INCLUDED_FILE + +#if JUCE_WEB_BROWSER + +/* + Sorry.. This class isn't implemented on Linux! +*/ + +WebBrowserComponent::WebBrowserComponent() + : browser (0), + blankPageShown (false) +{ + setOpaque (true); +} + +WebBrowserComponent::~WebBrowserComponent() +{ +} + +void WebBrowserComponent::goToURL (const String& url, + const StringArray* headers, + const MemoryBlock* postData) +{ + lastURL = url; + + lastHeaders.clear(); + if (headers != 0) + lastHeaders = *headers; + + lastPostData.setSize (0); + if (postData != 0) + lastPostData = *postData; + + blankPageShown = false; + +} + +void WebBrowserComponent::stop() +{ +} + +void WebBrowserComponent::goBack() +{ + lastURL = String::empty; + blankPageShown = false; + +} + +void WebBrowserComponent::goForward() +{ + lastURL = String::empty; + +} + +void WebBrowserComponent::refresh() +{ +} + +void WebBrowserComponent::paint (Graphics& g) +{ + g.fillAll (Colours::white); +} + +void WebBrowserComponent::checkWindowAssociation() +{ +} + +void WebBrowserComponent::reloadLastURL() +{ + if (lastURL.isNotEmpty()) + { + goToURL (lastURL, &lastHeaders, &lastPostData); + lastURL = String::empty; + } +} + +void WebBrowserComponent::parentHierarchyChanged() +{ + checkWindowAssociation(); +} + +void WebBrowserComponent::resized() +{ +} + +void WebBrowserComponent::visibilityChanged() +{ + checkWindowAssociation(); +} + +bool WebBrowserComponent::pageAboutToLoad (const String& url) +{ + return true; +} + +#endif +#endif +/********* End of inlined file: juce_linux_WebBrowserComponent.cpp *********/ + +#endif + +END_JUCE_NAMESPACE +/********* End of inlined file: juce_linux_NativeCode.cpp *********/ #endif @@ -266218,6 +255175,196 @@ int juce_seekInInternetFile (void* handle, int newPosition) #endif /********* End of inlined file: juce_mac_Network.mm *********/ +/********* Start of inlined file: juce_mac_NamedPipe.cpp *********/ +// (This file gets included by juce_mac_NativeCode.mm, rather than being +// compiled on its own). +#if JUCE_INCLUDED_FILE + +struct NamedPipeInternal +{ + String pipeInName, pipeOutName; + int pipeIn, pipeOut; + + bool volatile createdPipe, blocked, stopReadOperation; + + static void signalHandler (int) {} +}; + +void NamedPipe::cancelPendingReads() +{ + while (internal != 0 && ((NamedPipeInternal*) internal)->blocked) + { + NamedPipeInternal* const intern = (NamedPipeInternal*) internal; + + intern->stopReadOperation = true; + + char buffer [1] = { 0 }; + int bytesWritten = ::write (intern->pipeIn, buffer, 1); + (void) bytesWritten; + + int timeout = 2000; + while (intern->blocked && --timeout >= 0) + Thread::sleep (2); + + intern->stopReadOperation = false; + } +} + +void NamedPipe::close() +{ + NamedPipeInternal* const intern = (NamedPipeInternal*) internal; + + if (intern != 0) + { + internal = 0; + + if (intern->pipeIn != -1) + ::close (intern->pipeIn); + + if (intern->pipeOut != -1) + ::close (intern->pipeOut); + + if (intern->createdPipe) + { + unlink (intern->pipeInName); + unlink (intern->pipeOutName); + } + + delete intern; + } +} + +bool NamedPipe::openInternal (const String& pipeName, const bool createPipe) +{ + close(); + + NamedPipeInternal* const intern = new NamedPipeInternal(); + internal = intern; + intern->createdPipe = createPipe; + intern->blocked = false; + intern->stopReadOperation = false; + + signal (SIGPIPE, NamedPipeInternal::signalHandler); + siginterrupt (SIGPIPE, 1); + + const String pipePath (T("/tmp/") + File::createLegalFileName (pipeName)); + + intern->pipeInName = pipePath + T("_in"); + intern->pipeOutName = pipePath + T("_out"); + intern->pipeIn = -1; + intern->pipeOut = -1; + + if (createPipe) + { + if ((mkfifo (intern->pipeInName, 0666) && errno != EEXIST) + || (mkfifo (intern->pipeOutName, 0666) && errno != EEXIST)) + { + delete intern; + internal = 0; + + return false; + } + } + + return true; +} + +int NamedPipe::read (void* destBuffer, int maxBytesToRead, int /*timeOutMilliseconds*/) +{ + int bytesRead = -1; + NamedPipeInternal* const intern = (NamedPipeInternal*) internal; + + if (intern != 0) + { + intern->blocked = true; + + if (intern->pipeIn == -1) + { + if (intern->createdPipe) + intern->pipeIn = ::open (intern->pipeInName, O_RDWR); + else + intern->pipeIn = ::open (intern->pipeOutName, O_RDWR); + + if (intern->pipeIn == -1) + { + intern->blocked = false; + return -1; + } + } + + bytesRead = 0; + + char* p = (char*) destBuffer; + + while (bytesRead < maxBytesToRead) + { + const int bytesThisTime = maxBytesToRead - bytesRead; + const int numRead = ::read (intern->pipeIn, p, bytesThisTime); + + if (numRead <= 0 || intern->stopReadOperation) + { + bytesRead = -1; + break; + } + + bytesRead += numRead; + p += bytesRead; + } + + intern->blocked = false; + } + + return bytesRead; +} + +int NamedPipe::write (const void* sourceBuffer, int numBytesToWrite, int timeOutMilliseconds) +{ + int bytesWritten = -1; + NamedPipeInternal* const intern = (NamedPipeInternal*) internal; + + if (intern != 0) + { + if (intern->pipeOut == -1) + { + if (intern->createdPipe) + intern->pipeOut = ::open (intern->pipeOutName, O_WRONLY); + else + intern->pipeOut = ::open (intern->pipeInName, O_WRONLY); + + if (intern->pipeOut == -1) + { + return -1; + } + } + + const char* p = (const char*) sourceBuffer; + bytesWritten = 0; + + const uint32 timeOutTime = Time::getMillisecondCounter() + timeOutMilliseconds; + + while (bytesWritten < numBytesToWrite + && (timeOutMilliseconds < 0 || Time::getMillisecondCounter() < timeOutTime)) + { + const int bytesThisTime = numBytesToWrite - bytesWritten; + const int numWritten = ::write (intern->pipeOut, p, bytesThisTime); + + if (numWritten <= 0) + { + bytesWritten = -1; + break; + } + + bytesWritten += numWritten; + p += bytesWritten; + } + } + + return bytesWritten; +} + +#endif +/********* End of inlined file: juce_mac_NamedPipe.cpp *********/ + /********* Start of inlined file: juce_mac_Threads.mm *********/ // (This file gets included by juce_mac_NativeCode.mm, rather than being // compiled on its own). @@ -266682,7 +255829,8 @@ const String juce_getVolumeLabel (const String& filenameOnVolume, void juce_runSystemCommand (const String& command) { - system ((const char*) command.toUTF8()); + int result = system ((const char*) command.toUTF8()); + (void) result; } const String juce_getOutputFromCommand (const String& command) @@ -274450,205 +263598,4 @@ CameraDevice* CameraDevice::openDevice (int index, END_JUCE_NAMESPACE /********* End of inlined file: juce_mac_NativeCode.mm *********/ -/********* Start of inlined file: juce_mac_NamedPipe.cpp *********/ - -#include -#include -#include - -// As well as being for the mac, this file is included by the linux build. - -#if ! JUCE_MAC - #include - #include - #include -#endif - -BEGIN_JUCE_NAMESPACE - -struct NamedPipeInternal -{ - String pipeInName, pipeOutName; - int pipeIn, pipeOut; - - bool volatile createdPipe, blocked, stopReadOperation; - - static void signalHandler (int) {} -}; - -void NamedPipe::cancelPendingReads() -{ - while (internal != 0 && ((NamedPipeInternal*) internal)->blocked) - { - NamedPipeInternal* const intern = (NamedPipeInternal*) internal; - - intern->stopReadOperation = true; - - char buffer [1] = { 0 }; - int bytesWritten = ::write (intern->pipeIn, buffer, 1); - (void) bytesWritten; - - int timeout = 2000; - while (intern->blocked && --timeout >= 0) - Thread::sleep (2); - - intern->stopReadOperation = false; - } -} - -void NamedPipe::close() -{ - NamedPipeInternal* const intern = (NamedPipeInternal*) internal; - - if (intern != 0) - { - internal = 0; - - if (intern->pipeIn != -1) - ::close (intern->pipeIn); - - if (intern->pipeOut != -1) - ::close (intern->pipeOut); - - if (intern->createdPipe) - { - unlink (intern->pipeInName); - unlink (intern->pipeOutName); - } - - delete intern; - } -} - -bool NamedPipe::openInternal (const String& pipeName, const bool createPipe) -{ - close(); - - NamedPipeInternal* const intern = new NamedPipeInternal(); - internal = intern; - intern->createdPipe = createPipe; - intern->blocked = false; - intern->stopReadOperation = false; - - signal (SIGPIPE, NamedPipeInternal::signalHandler); - siginterrupt (SIGPIPE, 1); - - const String pipePath (T("/tmp/") + File::createLegalFileName (pipeName)); - - intern->pipeInName = pipePath + T("_in"); - intern->pipeOutName = pipePath + T("_out"); - intern->pipeIn = -1; - intern->pipeOut = -1; - - if (createPipe) - { - if ((mkfifo (intern->pipeInName, 0666) && errno != EEXIST) - || (mkfifo (intern->pipeOutName, 0666) && errno != EEXIST)) - { - delete intern; - internal = 0; - - return false; - } - } - - return true; -} - -int NamedPipe::read (void* destBuffer, int maxBytesToRead, int /*timeOutMilliseconds*/) -{ - int bytesRead = -1; - NamedPipeInternal* const intern = (NamedPipeInternal*) internal; - - if (intern != 0) - { - intern->blocked = true; - - if (intern->pipeIn == -1) - { - if (intern->createdPipe) - intern->pipeIn = ::open (intern->pipeInName, O_RDWR); - else - intern->pipeIn = ::open (intern->pipeOutName, O_RDWR); - - if (intern->pipeIn == -1) - { - intern->blocked = false; - return -1; - } - } - - bytesRead = 0; - - char* p = (char*) destBuffer; - - while (bytesRead < maxBytesToRead) - { - const int bytesThisTime = maxBytesToRead - bytesRead; - const int numRead = ::read (intern->pipeIn, p, bytesThisTime); - - if (numRead <= 0 || intern->stopReadOperation) - { - bytesRead = -1; - break; - } - - bytesRead += numRead; - p += bytesRead; - } - - intern->blocked = false; - } - - return bytesRead; -} - -int NamedPipe::write (const void* sourceBuffer, int numBytesToWrite, int timeOutMilliseconds) -{ - int bytesWritten = -1; - NamedPipeInternal* const intern = (NamedPipeInternal*) internal; - - if (intern != 0) - { - if (intern->pipeOut == -1) - { - if (intern->createdPipe) - intern->pipeOut = ::open (intern->pipeOutName, O_WRONLY); - else - intern->pipeOut = ::open (intern->pipeInName, O_WRONLY); - - if (intern->pipeOut == -1) - { - return -1; - } - } - - const char* p = (const char*) sourceBuffer; - bytesWritten = 0; - - const uint32 timeOutTime = Time::getMillisecondCounter() + timeOutMilliseconds; - - while (bytesWritten < numBytesToWrite - && (timeOutMilliseconds < 0 || Time::getMillisecondCounter() < timeOutTime)) - { - const int bytesThisTime = numBytesToWrite - bytesWritten; - const int numWritten = ::write (intern->pipeOut, p, bytesThisTime); - - if (numWritten <= 0) - { - bytesWritten = -1; - break; - } - - bytesWritten += numWritten; - p += bytesWritten; - } - } - - return bytesWritten; -} - -END_JUCE_NAMESPACE -/********* End of inlined file: juce_mac_NamedPipe.cpp *********/ - #endif diff --git a/juce_amalgamated.h b/juce_amalgamated.h index 4f4715e7ae..0615874acd 100644 --- a/juce_amalgamated.h +++ b/juce_amalgamated.h @@ -80,7 +80,7 @@ /********* Start of inlined file: juce_Config.h *********/ #ifndef __JUCE_CONFIG_JUCEHEADER__ -#define __JUCE_CONFIG_JUCEHEADER__ // (this comment is here to force the amalgamator to reinclude this file) +#define __JUCE_CONFIG_JUCEHEADER__ /* This file contains macros that enable/disable various JUCE features. @@ -638,10 +638,6 @@ #include #include -#if JUCE_MAC || JUCE_LINUX - #include -#endif - #if JUCE_USE_INTRINSICS #include #endif @@ -2742,9 +2738,6 @@ BEGIN_JUCE_NAMESPACE #endif // __JUCE_ATOMIC_JUCEHEADER__ /********* End of inlined file: juce_Atomic.h *********/ -#endif -#ifndef __JUCE_STANDARDHEADER_JUCEHEADER__ - #endif #ifndef __JUCE_FILELOGGER_JUCEHEADER__ @@ -7465,6 +7458,9 @@ private: #endif // __JUCE_RANDOM_JUCEHEADER__ /********* End of inlined file: juce_Random.h *********/ +#endif +#ifndef __JUCE_TIME_JUCEHEADER__ + #endif #ifndef __JUCE_RELATIVETIME_JUCEHEADER__ @@ -7996,10 +7992,10 @@ public: /********* End of inlined file: juce_SystemStats.h *********/ #endif -#ifndef __JUCE_TIME_JUCEHEADER__ +#ifndef __JUCE_DATACONVERSIONS_JUCEHEADER__ #endif -#ifndef __JUCE_DATACONVERSIONS_JUCEHEADER__ +#ifndef __JUCE_STANDARDHEADER_JUCEHEADER__ #endif #ifndef __JUCE_ARRAYALLOCATIONBASE_JUCEHEADER__ diff --git a/src/juce_amalgamated_template.cpp b/src/juce_amalgamated_template.cpp index 76607ba9ce..c0003a7ef6 100644 --- a/src/juce_amalgamated_template.cpp +++ b/src/juce_amalgamated_template.cpp @@ -44,13 +44,13 @@ #error #endif -#include "../juce_Config.h" +#include "../juce_Config.h" // FORCE_AMALGAMATOR_INCLUDE //============================================================================== #ifdef _WIN32 #include "../build/win32/platform_specific_code/juce_win32_NativeIncludes.h" #elif defined (LINUX) - // + #include "../build/linux/platform_specific_code/juce_linux_NativeIncludes.h" #else #include "../build/macosx/platform_specific_code/juce_mac_NativeIncludes.h" #endif @@ -333,46 +333,24 @@ #include "juce_core/io/streams/juce_GZIPDecompressorInputStream.cpp" #if ! JUCE_ONLY_BUILD_CORE_LIBRARY -#include "juce_appframework/audio/audio_file_formats/juce_FlacAudioFormat.cpp" -#include "juce_appframework/audio/audio_file_formats/juce_OggVorbisAudioFormat.cpp" -#include "juce_appframework/gui/graphics/imaging/image_file_formats/juce_JPEGLoader.cpp" -#include "juce_appframework/gui/graphics/imaging/image_file_formats/juce_PNGLoader.cpp" + #include "juce_appframework/audio/audio_file_formats/juce_FlacAudioFormat.cpp" + #include "juce_appframework/audio/audio_file_formats/juce_OggVorbisAudioFormat.cpp" + #include "juce_appframework/gui/graphics/imaging/image_file_formats/juce_JPEGLoader.cpp" + #include "juce_appframework/gui/graphics/imaging/image_file_formats/juce_PNGLoader.cpp" #endif //============================================================================== #if JUCE_WIN32 - -#include "../build/win32/platform_specific_code/juce_win32_NativeCode.cpp" -#include "../build/win32/platform_specific_code/juce_win32_AutoLinkLibraries.h" - + #include "../build/win32/platform_specific_code/juce_win32_NativeCode.cpp" + #include "../build/win32/platform_specific_code/juce_win32_AutoLinkLibraries.h" #endif //============================================================================== #if JUCE_LINUX - -#include "../build/linux/platform_specific_code/juce_linux_Files.cpp" -#include "../build/linux/platform_specific_code/juce_linux_NamedPipe.cpp" -#include "../build/linux/platform_specific_code/juce_linux_Network.cpp" -#include "../build/linux/platform_specific_code/juce_linux_SystemStats.cpp" -#include "../build/linux/platform_specific_code/juce_linux_Threads.cpp" - -#if ! JUCE_ONLY_BUILD_CORE_LIBRARY - #include "../build/linux/platform_specific_code/juce_linux_Audio.cpp" - #include "../build/linux/platform_specific_code/juce_linux_AudioCDReader.cpp" - #include "../build/linux/platform_specific_code/juce_linux_FileChooser.cpp" - #include "../build/linux/platform_specific_code/juce_linux_Fonts.cpp" - #include "../build/linux/platform_specific_code/juce_linux_Messaging.cpp" - #include "../build/linux/platform_specific_code/juce_linux_Midi.cpp" - #include "../build/linux/platform_specific_code/juce_linux_WebBrowserComponent.cpp" - #include "../build/linux/platform_specific_code/juce_linux_Windowing.cpp" -#endif - + #include "../build/linux/platform_specific_code/juce_linux_NativeCode.cpp" #endif //============================================================================== #if JUCE_MAC - -#include "../build/macosx/platform_specific_code/juce_mac_NativeCode.mm" -#include "../build/macosx/platform_specific_code/juce_mac_NamedPipe.cpp" - + #include "../build/macosx/platform_specific_code/juce_mac_NativeCode.mm" #endif diff --git a/src/juce_appframework/audio/audio_file_formats/oggvorbis/codec.h b/src/juce_appframework/audio/audio_file_formats/oggvorbis/codec.h index 7a87a4a27c..bdc5b4a32f 100644 --- a/src/juce_appframework/audio/audio_file_formats/oggvorbis/codec.h +++ b/src/juce_appframework/audio/audio_file_formats/oggvorbis/codec.h @@ -168,7 +168,7 @@ extern int vorbis_info_blocksize(vorbis_info *vi,int zo); extern void vorbis_comment_init(vorbis_comment *vc); extern void vorbis_comment_add(vorbis_comment *vc, char *comment); extern void vorbis_comment_add_tag(vorbis_comment *vc, - char *tag, char *contents); + const char *tag, char *contents); extern char *vorbis_comment_query(vorbis_comment *vc, char *tag, int count); extern int vorbis_comment_query_count(vorbis_comment *vc, char *tag); extern void vorbis_comment_clear(vorbis_comment *vc); diff --git a/src/juce_appframework/audio/audio_file_formats/oggvorbis/libvorbis-1.1.2/lib/analysis.c b/src/juce_appframework/audio/audio_file_formats/oggvorbis/libvorbis-1.1.2/lib/analysis.c index d1102db93c..a8d244dee2 100644 --- a/src/juce_appframework/audio/audio_file_formats/oggvorbis/libvorbis-1.1.2/lib/analysis.c +++ b/src/juce_appframework/audio/audio_file_formats/oggvorbis/libvorbis-1.1.2/lib/analysis.c @@ -69,7 +69,7 @@ int vorbis_analysis(vorbis_block *vb, ogg_packet *op){ } /* there was no great place to put this.... */ -void _analysis_output_always(char *base,int i,float *v,int n,int bark,int dB,ogg_int64_t off){ +void _analysis_output_always(const char *base,int i,float *v,int n,int bark,int dB,ogg_int64_t off){ int j; FILE *of; char buffer[80]; diff --git a/src/juce_appframework/audio/audio_file_formats/oggvorbis/libvorbis-1.1.2/lib/info.c b/src/juce_appframework/audio/audio_file_formats/oggvorbis/libvorbis-1.1.2/lib/info.c index 7743a8937b..16b6629c22 100644 --- a/src/juce_appframework/audio/audio_file_formats/oggvorbis/libvorbis-1.1.2/lib/info.c +++ b/src/juce_appframework/audio/audio_file_formats/oggvorbis/libvorbis-1.1.2/lib/info.c @@ -35,7 +35,7 @@ #include "os.h" -static void _v_writestring(oggpack_buffer *o,char *s, int bytes){ +static void _v_writestring(oggpack_buffer *o, const char *s, int bytes){ while(bytes--){ oggpack_write(o,*s++,8); @@ -64,7 +64,7 @@ void vorbis_comment_add(vorbis_comment *vc,char *comment){ vc->user_comments[vc->comments]=NULL; } -void vorbis_comment_add_tag(vorbis_comment *vc, char *tag, char *contents){ +void vorbis_comment_add_tag(vorbis_comment *vc, const char *tag, char *contents){ char *comment=(char*)alloca(strlen(tag)+strlen(contents)+2); /* +2 for = and \0 */ strcpy(comment, tag); strcat(comment, "="); diff --git a/src/juce_appframework/audio/audio_file_formats/oggvorbis/libvorbis-1.1.2/lib/vorbisfile.c b/src/juce_appframework/audio/audio_file_formats/oggvorbis/libvorbis-1.1.2/lib/vorbisfile.c index 0d17eed8a8..ad101fc4a8 100644 --- a/src/juce_appframework/audio/audio_file_formats/oggvorbis/libvorbis-1.1.2/lib/vorbisfile.c +++ b/src/juce_appframework/audio/audio_file_formats/oggvorbis/libvorbis-1.1.2/lib/vorbisfile.c @@ -1704,7 +1704,7 @@ long ov_read_float(OggVorbis_File *vf,float ***pcm_channels,int length, } extern float *vorbis_window(vorbis_dsp_state *v,int W); -extern void _analysis_output_always(char *base,int i,float *v,int n,int bark,int dB, +extern void _analysis_output_always(const char *base,int i,float *v,int n,int bark,int dB, ogg_int64_t off); static void _ov_splice(float **pcm,float **lappcm, diff --git a/src/juce_core/basics/juce_StandardHeader.h b/src/juce_core/basics/juce_StandardHeader.h index 8223bad724..15aa457a2f 100644 --- a/src/juce_core/basics/juce_StandardHeader.h +++ b/src/juce_core/basics/juce_StandardHeader.h @@ -83,10 +83,6 @@ #include #include -#if JUCE_MAC || JUCE_LINUX - #include -#endif - #if JUCE_USE_INTRINSICS #include #endif diff --git a/src/juce_core/io/streams/zlib/zutil.c b/src/juce_core/io/streams/zlib/zutil.c index 74593c24b6..33964c2d6e 100644 --- a/src/juce_core/io/streams/zlib/zutil.c +++ b/src/juce_core/io/streams/zlib/zutil.c @@ -119,7 +119,7 @@ uLong ZEXPORT zlibCompileFlags() # endif int z_verbose = verbose; -void z_error (char *m) +void z_error (const char *m) { fprintf(stderr, "%s\n", m); exit(1); diff --git a/src/juce_core/io/streams/zlib/zutil.h b/src/juce_core/io/streams/zlib/zutil.h index a8a0b12890..776f10718d 100644 --- a/src/juce_core/io/streams/zlib/zutil.h +++ b/src/juce_core/io/streams/zlib/zutil.h @@ -241,7 +241,7 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ #ifdef DEBUG # include extern int z_verbose; - extern void z_error OF((char *m)); + extern void z_error OF((const char *m)); # define Assert(cond,msg) {if(!(cond)) z_error(msg);} # define Trace(x) {if (z_verbose>=0) fprintf x ;} # define Tracev(x) {if (z_verbose>0) fprintf x ;} diff --git a/src/juce_core_includes.h b/src/juce_core_includes.h index ddbb467fc5..fb95996a83 100644 --- a/src/juce_core_includes.h +++ b/src/juce_core_includes.h @@ -35,9 +35,6 @@ #ifndef __JUCE_ATOMIC_JUCEHEADER__ #include "juce_core/basics/juce_Atomic.h" #endif -#ifndef __JUCE_STANDARDHEADER_JUCEHEADER__ - #include "juce_core/basics/juce_StandardHeader.h" -#endif #ifndef __JUCE_FILELOGGER_JUCEHEADER__ #include "juce_core/basics/juce_FileLogger.h" #endif @@ -59,6 +56,9 @@ #ifndef __JUCE_RANDOM_JUCEHEADER__ #include "juce_core/basics/juce_Random.h" #endif +#ifndef __JUCE_TIME_JUCEHEADER__ + #include "juce_core/basics/juce_Time.h" +#endif #ifndef __JUCE_RELATIVETIME_JUCEHEADER__ #include "juce_core/basics/juce_RelativeTime.h" #endif @@ -68,12 +68,12 @@ #ifndef __JUCE_SYSTEMSTATS_JUCEHEADER__ #include "juce_core/basics/juce_SystemStats.h" #endif -#ifndef __JUCE_TIME_JUCEHEADER__ - #include "juce_core/basics/juce_Time.h" -#endif #ifndef __JUCE_DATACONVERSIONS_JUCEHEADER__ #include "juce_core/basics/juce_DataConversions.h" #endif +#ifndef __JUCE_STANDARDHEADER_JUCEHEADER__ + #include "juce_core/basics/juce_StandardHeader.h" +#endif #ifndef __JUCE_ARRAYALLOCATIONBASE_JUCEHEADER__ #include "juce_core/containers/juce_ArrayAllocationBase.h" #endif