mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Merge branch 'juce-framework:master' into master
This commit is contained in:
commit
d0e74374c9
1202 changed files with 163368 additions and 48579 deletions
|
|
@ -17,7 +17,7 @@ jobs:
|
|||
sparse-checkout: ./.github/workflows
|
||||
- env:
|
||||
TRIGGER_WORKFLOW_INPUTS: |
|
||||
{"triggerer":"Nightly Build","nightly-targets":${{ vars.NIGHTLY_BUILD_TARGETS }}}
|
||||
{"triggerer":"Nightly Build Targets","nightly-targets":${{ vars.NIGHTLY_BUILD_TARGETS }}}
|
||||
run: python3 ./.github/workflows/trigger_workflow.py
|
||||
- if: ${{ contains(fromJSON(vars.NIGHTLY_BUILD_TARGETS), 'cpp20') }}
|
||||
env:
|
||||
|
|
|
|||
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -35,6 +35,7 @@ profile
|
|||
**/LinuxMakefile/build
|
||||
**/VisualStudio[0-9]*/Win32
|
||||
**/VisualStudio[0-9]*/x64
|
||||
**/VisualStudio[0-9]*/packages
|
||||
**/Builds/x64
|
||||
**/.vs
|
||||
**/CodeBlocks/bin
|
||||
|
|
@ -54,7 +55,7 @@ profile
|
|||
**/Builds/MacOSX/**/Index
|
||||
**/Builds/MacOSX/**/Intermediates.noindex
|
||||
**/doxygen/doc
|
||||
**/doxygen/build
|
||||
**/doxygen/xml
|
||||
**/.idea
|
||||
extras/Projucer/JUCECompileEngine.dylib
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,74 @@
|
|||
# JUCE breaking changes
|
||||
|
||||
# Version 8.0.11
|
||||
|
||||
## Change
|
||||
|
||||
Enabling JUCE_ASIO will now default to using bundled ASIO sources.
|
||||
|
||||
**Possible Issues**
|
||||
|
||||
Programs that depend on specific versions of the ASIO SDK (perhaps with custom
|
||||
modifications) may be broken.
|
||||
|
||||
**Workaround**
|
||||
|
||||
To use a different version of the ASIO SDK, additionally set the
|
||||
JUCE_ASIO_USE_EXTERNAL_SDK module option. If you're happy to use the bundled
|
||||
sources, consider removing the custom header include paths you were previously
|
||||
using to locate the ASIO headers.
|
||||
|
||||
**Rationale**
|
||||
|
||||
The bundled headers should be sufficient for the majority of use-cases, so this
|
||||
is now the standard option requiring less configuration. Using custom headers
|
||||
is an advanced use-case, so it's reasonable that this requires some additional
|
||||
configuration, i.e. setting the JUCE_ASIO_USE_EXTERNAL_SDK flag.
|
||||
|
||||
|
||||
# Version 8.0.9
|
||||
|
||||
## Change
|
||||
|
||||
AudioProcessor::TrackProperties::colour has been removed. It is replaced by a
|
||||
new data member, colourARGB.
|
||||
|
||||
**Possible Issues**
|
||||
|
||||
Code that references this data member will fail to compile.
|
||||
|
||||
**Workaround**
|
||||
|
||||
Use the new colourARGB field, which holds the raw ARGB values packed in a
|
||||
uint32, instead. In order to convert to a Colour instance, pass the value held
|
||||
by colourARGB to the constructor of Colour.
|
||||
|
||||
**Rationale**
|
||||
|
||||
This change removes the dependency between the juce_audio_processors_headless
|
||||
and juce_graphics. It is now possible to build programs that work with headless
|
||||
AudioProcessors without needing to include juce_graphics.
|
||||
|
||||
|
||||
## Change
|
||||
|
||||
The function AudioPluginFormatManager::addDefaultFormats() has been removed.
|
||||
|
||||
**Possible Issues**
|
||||
|
||||
Code that calls this function will fail to compile.
|
||||
|
||||
**Workaround**
|
||||
|
||||
Use the new non-member function "addDefaultFormatsToManager()" instead.
|
||||
|
||||
**Rationale**
|
||||
|
||||
This change removes the dependency between the AudioPluginFormatManager and the
|
||||
concrete plugin format types, allowing the AudioPluginFormatManager to be built
|
||||
in isolation.
|
||||
|
||||
|
||||
## Change
|
||||
|
||||
The signatures of OpenGLFrameBuffer::readPixels() and
|
||||
|
|
|
|||
|
|
@ -3,6 +3,18 @@
|
|||
This file lists the more notable headline features. For more detailed info
|
||||
about changes and bugfixes please see the git log and BREAKING_CHANGES.md.
|
||||
|
||||
## Version 8.0.11
|
||||
|
||||
- Added a new MIDI 2.0 Universal MIDI Packet demo
|
||||
- Added a Visual Studio 2026 exporter
|
||||
- Improved support for macOS/iOS 26
|
||||
- Updated the VST3 SDK to 3.8.0 (MIT license)
|
||||
- Updated the AAX SDK to 2.9.0
|
||||
- Included the ASIO SDK source files directly (GPLv3 license)
|
||||
- Updated Sheen Bidi to 2.9.0
|
||||
- Improved rendering performance with a font and glyph cache
|
||||
- Added a new juce_audio_processors_headless module
|
||||
|
||||
## Version 8.0.10
|
||||
|
||||
- Avoided restarting Android Activities on system theme change
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
|
||||
project(JUCE VERSION 8.0.10 LANGUAGES C CXX)
|
||||
project(JUCE VERSION 8.0.11 LANGUAGES C CXX)
|
||||
|
||||
include(CMakeDependentOption)
|
||||
|
||||
|
|
|
|||
|
|
@ -43,15 +43,16 @@ The JUCE modules contain the following dependencies:
|
|||
- [Ogg Vorbis](modules/juce_audio_formats/codecs/oggvorbis/) ([BSD](modules/juce_audio_formats/codecs/oggvorbis/Ogg%20Vorbis%20Licence.txt))
|
||||
- [jpeglib](modules/juce_graphics/image_formats/jpglib/) ([Independent JPEG Group License](modules/juce_graphics/image_formats/jpglib/README))
|
||||
- [CHOC](modules/juce_javascript/choc/) ([ISC](modules/juce_javascript/choc/LICENSE.md)), including [QuickJS](modules/juce_javascript/choc/javascript/choc_javascript_QuickJS.h) ([MIT](modules/juce_javascript/choc/javascript/choc_javascript_QuickJS.h))
|
||||
- [LV2](modules/juce_audio_processors/format_types/LV2_SDK/) ([ISC](modules/juce_audio_processors/format_types/LV2_SDK/lv2/COPYING))
|
||||
- [pslextensions](modules/juce_audio_processors/format_types/pslextensions/ipslcontextinfo.h) ([Public domain](modules/juce_audio_processors/format_types/pslextensions/ipslcontextinfo.h))
|
||||
- [LV2](modules/juce_audio_processors_headless/format_types/LV2_SDK/) ([ISC](modules/juce_audio_processors_headless/format_types/LV2_SDK/lv2/COPYING))
|
||||
- [pslextensions](modules/juce_audio_processors_headless/format_types/pslextensions/ipslcontextinfo.h) ([Public domain](modules/juce_audio_processors_headless/format_types/pslextensions/ipslcontextinfo.h))
|
||||
- [AAX](modules/juce_audio_plugin_client/AAX/SDK/) ([Proprietary Avid AAX License/GPLv3](modules/juce_audio_plugin_client/AAX/SDK/LICENSE.txt))
|
||||
- [VST3](modules/juce_audio_processors/format_types/VST3_SDK/) ([Proprietary Steinberg VST3 License/GPLv3](modules/juce_audio_processors/format_types/VST3_SDK/LICENSE.txt))
|
||||
- [VST3](modules/juce_audio_processors_headless/format_types/VST3_SDK/) ([MIT](modules/juce_audio_processors_headless/format_types/VST3_SDK/LICENSE.txt))
|
||||
- [Box2D](modules/juce_box2d/box2d/) ([zlib](modules/juce_box2d/box2d/Box2D.h))
|
||||
- [pnglib](modules/juce_graphics/image_formats/pnglib/) ([zlib](modules/juce_graphics/image_formats/pnglib/LICENSE))
|
||||
- [zlib](modules/juce_core/zip/zlib/) ([zlib](modules/juce_core/zip/zlib/README))
|
||||
- [HarfBuzz](modules/juce_graphics/fonts/harfbuzz/) ([Old MIT](modules/juce_graphics/fonts/harfbuzz/COPYING))
|
||||
- [SheenBidi](modules/juce_graphics/unicode/sheenbidi/) ([Apache](modules/juce_graphics/unicode/sheenbidi/LICENSE))
|
||||
- [ASIO](modules/juce_audio_devices/native/asio/) ([Proprietary Steinberg ASIO License/GPLv3](modules/juce_audio_devices/native/asio/LICENSE.txt))
|
||||
|
||||
The JUCE examples are licensed under the terms of the
|
||||
[ISC license](http://www.isc.org/downloads/software-support-policy/isc-license/).
|
||||
|
|
|
|||
|
|
@ -434,6 +434,15 @@ attributes directly to these creation functions, rather than adding them later.
|
|||
are set on a JUCE target. By default, we don't link StoreKit because you might not need it, but
|
||||
if you get linker or include errors that reference StoreKit, just set this argument to `TRUE`.
|
||||
|
||||
`NEEDS_WINDOWS_MIDI_SERVICES`
|
||||
- On Windows, JUCE can use the Windows MIDI Services library to support MIDI 2.0 protocol
|
||||
communications with hardware and other applications. By default this is not enabled because the
|
||||
MIDI services require additional packages to be installed in order to function, both at build-time
|
||||
and at run-time. If you enable this flag but don't have the correct dependencies installed, CMake
|
||||
will emit an error message during configuration explaining how to get everything set up. This
|
||||
option will automatically set the JUCE_USE_WINDOWS_MIDI_SERVICES=1 preprocessor definition on the
|
||||
new target.
|
||||
|
||||
`PUSH_NOTIFICATIONS_ENABLED`
|
||||
- Sets app entitlements to allow push notifications. May be either `TRUE`
|
||||
or `FALSE`. Defaults to `FALSE`.
|
||||
|
|
@ -489,10 +498,10 @@ attributes directly to these creation functions, rather than adding them later.
|
|||
- A string to insert into an app/plugin's Info.plist.
|
||||
|
||||
`FORMATS`
|
||||
- For plugin targets, specifies the plugin targets to build. Should be provided as a
|
||||
space-separated list. Valid values are `Standalone Unity VST3 AU AUv3 AAX VST LV2`. `AU` and
|
||||
`AUv3` plugins will only be enabled when building on macOS. It is an error to pass `AAX` or `VST`
|
||||
without first calling `juce_set_aax_sdk_path` or `juce_set_vst2_sdk_path` respectively.
|
||||
- For plugin targets, specifies the plugin targets to build. Should be provided as a space-separated
|
||||
list. Valid values are `Standalone Unity VST3 AU AUv3 AAX VST LV2`. `AU` and `AUv3` plugins will
|
||||
only be enabled when building on macOS; `AUv3` plugins will only be enabled when using the Xcode
|
||||
generator. It is an error to pass `VST` without first calling `juce_set_vst2_sdk_path`.
|
||||
|
||||
`PLUGIN_NAME`
|
||||
- The name of the plugin. In a DAW environment, this is the name that will be displayed to the
|
||||
|
|
@ -574,9 +583,10 @@ attributes directly to these creation functions, rather than adding them later.
|
|||
`VST3_CATEGORIES`
|
||||
- Should be one or more, separated by spaces, of the following: `Fx`, `Instrument`, `Analyzer`,
|
||||
`Delay`, `Distortion`, `Drum`, `Dynamics`, `EQ`, `External`, `Filter`, `Generator`, `Mastering`,
|
||||
`Modulation`, `Mono`, `Network`, `NoOfflineProcess`, `OnlyOfflineProcess`, `OnlyRT`,
|
||||
`Pitch Shift`, `Restoration`, `Reverb`, `Sampler`, `Spatial`, `Stereo`, `Surround`, `Synth`,
|
||||
`Tools`, `Up-Downmix`. Defaults to `Synth` if `IS_SYNTH` is `TRUE`. Otherwise defaults to `Fx`.
|
||||
`Modulation`, `Mono`, `Network`, `NoOfflineProcess`, `OnlyOfflineProcess`, `OnlyRT`, `Pitch
|
||||
Shift`, `Restoration`, `Reverb`, `Sampler`, `Spatial`, `Stereo`, `Surround`, `Synth`, `Tools`,
|
||||
`Up-Downmix`. Defaults to `Instrument Synth` if `IS_SYNTH` is `TRUE`. Otherwise defaults to
|
||||
`Fx`.
|
||||
|
||||
`AU_MAIN_TYPE`
|
||||
- Should be one of: `kAudioUnitType_Effect`, `kAudioUnitType_FormatConverter`,
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
271
docs/doxygen/DoxygenLayout.xml
Normal file
271
docs/doxygen/DoxygenLayout.xml
Normal file
|
|
@ -0,0 +1,271 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<doxygenlayout version="2.0">
|
||||
<!-- Generated by doxygen 1.14.0 -->
|
||||
<!-- Navigation index tabs for HTML output -->
|
||||
<navindex>
|
||||
<tab type="mainpage" visible="yes" title="Modules"/>
|
||||
<tab type="pages" visible="no" title="" intro=""/>
|
||||
<tab type="topics" visible="no" title="" intro=""/>
|
||||
<tab type="modules" visible="no" title="" intro="">
|
||||
<tab type="modulelist" visible="yes" title="" intro=""/>
|
||||
<tab type="modulemembers" visible="yes" title="" intro=""/>
|
||||
</tab>
|
||||
<tab type="namespaces" visible="no" title="">
|
||||
<tab type="namespacelist" visible="yes" title="" intro=""/>
|
||||
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||
</tab>
|
||||
<tab type="concepts" visible="no" title="">
|
||||
</tab>
|
||||
<tab type="interfaces" visible="no" title="">
|
||||
<tab type="interfacelist" visible="yes" title="" intro=""/>
|
||||
<tab type="interfaceindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||
<tab type="interfacehierarchy" visible="yes" title="" intro=""/>
|
||||
</tab>
|
||||
<tab type="classes" visible="no" title="">
|
||||
<tab type="classlist" visible="yes" title="" intro=""/>
|
||||
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
||||
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||
</tab>
|
||||
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title="All Classes"/>
|
||||
<tab type="structs" visible="no" title="">
|
||||
<tab type="structlist" visible="yes" title="" intro=""/>
|
||||
<tab type="structindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||
</tab>
|
||||
<tab type="exceptions" visible="no" title="">
|
||||
<tab type="exceptionlist" visible="yes" title="" intro=""/>
|
||||
<tab type="exceptionindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||
<tab type="exceptionhierarchy" visible="yes" title="" intro=""/>
|
||||
</tab>
|
||||
<tab type="files" visible="no" title="">
|
||||
<tab type="filelist" visible="yes" title="" intro=""/>
|
||||
<tab type="globals" visible="yes" title="" intro=""/>
|
||||
</tab>
|
||||
<tab type="examples" visible="no" title="" intro=""/>
|
||||
<tab type="user" visible="yes" title="Tutorials" url="https://juce.com/learn/tutorials"/>
|
||||
</navindex>
|
||||
|
||||
<!-- Layout definition for a class page -->
|
||||
<class>
|
||||
<briefdescription visible="no"/>
|
||||
<detaileddescription visible="yes" title=""/>
|
||||
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||
<includes visible="$SHOW_HEADERFILE"/>
|
||||
<inheritancegraph visible="yes"/>
|
||||
<collaborationgraph visible="yes"/>
|
||||
<memberdecl>
|
||||
<nestedclasses visible="yes" title=""/>
|
||||
<publictypes visible="yes" title=""/>
|
||||
<services visible="yes" title=""/>
|
||||
<interfaces visible="yes" title=""/>
|
||||
<publicslots visible="yes" title=""/>
|
||||
<signals visible="yes" title=""/>
|
||||
<publicmethods visible="yes" title=""/>
|
||||
<publicstaticmethods visible="yes" title=""/>
|
||||
<publicattributes visible="yes" title=""/>
|
||||
<publicstaticattributes visible="yes" title=""/>
|
||||
<protectedtypes visible="yes" title=""/>
|
||||
<protectedslots visible="yes" title=""/>
|
||||
<protectedmethods visible="yes" title=""/>
|
||||
<protectedstaticmethods visible="yes" title=""/>
|
||||
<protectedattributes visible="yes" title=""/>
|
||||
<protectedstaticattributes visible="yes" title=""/>
|
||||
<packagetypes visible="yes" title=""/>
|
||||
<packagemethods visible="yes" title=""/>
|
||||
<packagestaticmethods visible="yes" title=""/>
|
||||
<packageattributes visible="yes" title=""/>
|
||||
<packagestaticattributes visible="yes" title=""/>
|
||||
<properties visible="yes" title=""/>
|
||||
<events visible="yes" title=""/>
|
||||
<privatetypes visible="yes" title=""/>
|
||||
<privateslots visible="yes" title=""/>
|
||||
<privatemethods visible="yes" title=""/>
|
||||
<privatestaticmethods visible="yes" title=""/>
|
||||
<privateattributes visible="yes" title=""/>
|
||||
<privatestaticattributes visible="yes" title=""/>
|
||||
<friends visible="yes" title=""/>
|
||||
<related visible="yes" title="" subtitle=""/>
|
||||
<membergroups visible="yes"/>
|
||||
</memberdecl>
|
||||
<memberdef>
|
||||
<inlineclasses visible="yes" title=""/>
|
||||
<typedefs visible="yes" title=""/>
|
||||
<enums visible="yes" title="Member Enums"/>
|
||||
<services visible="yes" title=""/>
|
||||
<interfaces visible="yes" title=""/>
|
||||
<constructors visible="yes" title="Constructors and Destructors"/>
|
||||
<functions visible="yes" title="Member Functions"/>
|
||||
<related visible="yes" title=""/>
|
||||
<variables visible="yes" title=""/>
|
||||
<properties visible="yes" title=""/>
|
||||
<events visible="yes" title=""/>
|
||||
</memberdef>
|
||||
<allmemberslink visible="yes"/>
|
||||
<authorsection visible="yes"/>
|
||||
</class>
|
||||
|
||||
<!-- Layout definition for a namespace page -->
|
||||
<namespace>
|
||||
<briefdescription visible="no"/>
|
||||
<detaileddescription visible="yes" title=""/>
|
||||
<memberdecl>
|
||||
<nestednamespaces visible="yes" title=""/>
|
||||
<constantgroups visible="yes" title=""/>
|
||||
<interfaces visible="yes" title=""/>
|
||||
<classes visible="yes" title=""/>
|
||||
<concepts visible="yes" title=""/>
|
||||
<structs visible="yes" title=""/>
|
||||
<exceptions visible="yes" title=""/>
|
||||
<typedefs visible="yes" title=""/>
|
||||
<sequences visible="yes" title=""/>
|
||||
<dictionaries visible="yes" title=""/>
|
||||
<enums visible="yes" title=""/>
|
||||
<functions visible="yes" title=""/>
|
||||
<variables visible="yes" title=""/>
|
||||
<properties visible="yes" title=""/>
|
||||
<membergroups visible="yes"/>
|
||||
</memberdecl>
|
||||
<memberdef>
|
||||
<inlineclasses visible="yes" title=""/>
|
||||
<typedefs visible="yes" title=""/>
|
||||
<sequences visible="yes" title=""/>
|
||||
<dictionaries visible="yes" title=""/>
|
||||
<enums visible="yes" title=""/>
|
||||
<functions visible="yes" title=""/>
|
||||
<variables visible="yes" title=""/>
|
||||
<properties visible="yes" title=""/>
|
||||
</memberdef>
|
||||
<authorsection visible="yes"/>
|
||||
</namespace>
|
||||
|
||||
<!-- Layout definition for a concept page -->
|
||||
<concept>
|
||||
<briefdescription visible="no"/>
|
||||
<detaileddescription visible="yes" title=""/>
|
||||
<includes visible="$SHOW_HEADERFILE"/>
|
||||
<definition visible="yes" title=""/>
|
||||
<authorsection visible="yes"/>
|
||||
</concept>
|
||||
|
||||
<!-- Layout definition for a file page -->
|
||||
<file>
|
||||
<briefdescription visible="no"/>
|
||||
<detaileddescription visible="yes" title=""/>
|
||||
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||
<includegraph visible="yes"/>
|
||||
<includedbygraph visible="yes"/>
|
||||
<sourcelink visible="yes"/>
|
||||
<memberdecl>
|
||||
<interfaces visible="yes" title=""/>
|
||||
<classes visible="yes" title=""/>
|
||||
<structs visible="yes" title=""/>
|
||||
<exceptions visible="yes" title=""/>
|
||||
<namespaces visible="yes" title=""/>
|
||||
<concepts visible="yes" title=""/>
|
||||
<constantgroups visible="yes" title=""/>
|
||||
<defines visible="yes" title=""/>
|
||||
<typedefs visible="yes" title=""/>
|
||||
<sequences visible="yes" title=""/>
|
||||
<dictionaries visible="yes" title=""/>
|
||||
<enums visible="yes" title=""/>
|
||||
<functions visible="yes" title=""/>
|
||||
<variables visible="yes" title=""/>
|
||||
<properties visible="yes" title=""/>
|
||||
<membergroups visible="yes"/>
|
||||
</memberdecl>
|
||||
<memberdef>
|
||||
<inlineclasses visible="yes" title=""/>
|
||||
<defines visible="yes" title=""/>
|
||||
<typedefs visible="yes" title=""/>
|
||||
<sequences visible="yes" title=""/>
|
||||
<dictionaries visible="yes" title=""/>
|
||||
<enums visible="yes" title=""/>
|
||||
<functions visible="yes" title=""/>
|
||||
<variables visible="yes" title=""/>
|
||||
<properties visible="yes" title=""/>
|
||||
</memberdef>
|
||||
<authorsection/>
|
||||
</file>
|
||||
|
||||
<!-- Layout definition for a group page -->
|
||||
<group>
|
||||
<briefdescription visible="no"/>
|
||||
<detaileddescription visible="yes" title=""/>
|
||||
<groupgraph visible="yes"/>
|
||||
<memberdecl>
|
||||
<nestedgroups visible="yes" title=""/>
|
||||
<modules visible="yes" title=""/>
|
||||
<dirs visible="yes" title=""/>
|
||||
<files visible="yes" title=""/>
|
||||
<namespaces visible="yes" title=""/>
|
||||
<concepts visible="yes" title=""/>
|
||||
<classes visible="yes" title=""/>
|
||||
<defines visible="yes" title=""/>
|
||||
<typedefs visible="yes" title=""/>
|
||||
<sequences visible="yes" title=""/>
|
||||
<dictionaries visible="yes" title=""/>
|
||||
<enums visible="yes" title=""/>
|
||||
<enumvalues visible="yes" title=""/>
|
||||
<functions visible="yes" title=""/>
|
||||
<variables visible="yes" title=""/>
|
||||
<signals visible="yes" title=""/>
|
||||
<publicslots visible="yes" title=""/>
|
||||
<protectedslots visible="yes" title=""/>
|
||||
<privateslots visible="yes" title=""/>
|
||||
<events visible="yes" title=""/>
|
||||
<properties visible="yes" title=""/>
|
||||
<friends visible="yes" title=""/>
|
||||
<membergroups visible="yes"/>
|
||||
</memberdecl>
|
||||
<memberdef>
|
||||
<pagedocs/>
|
||||
<inlineclasses visible="yes" title=""/>
|
||||
<defines visible="yes" title=""/>
|
||||
<typedefs visible="yes" title=""/>
|
||||
<sequences visible="yes" title=""/>
|
||||
<dictionaries visible="yes" title=""/>
|
||||
<enums visible="yes" title=""/>
|
||||
<enumvalues visible="yes" title=""/>
|
||||
<functions visible="yes" title=""/>
|
||||
<variables visible="yes" title=""/>
|
||||
<signals visible="yes" title=""/>
|
||||
<publicslots visible="yes" title=""/>
|
||||
<protectedslots visible="yes" title=""/>
|
||||
<privateslots visible="yes" title=""/>
|
||||
<events visible="yes" title=""/>
|
||||
<properties visible="yes" title=""/>
|
||||
<friends visible="yes" title=""/>
|
||||
</memberdef>
|
||||
<authorsection visible="yes"/>
|
||||
</group>
|
||||
|
||||
<!-- Layout definition for a C++20 module page -->
|
||||
<module>
|
||||
<briefdescription visible="no"/>
|
||||
<detaileddescription visible="yes" title=""/>
|
||||
<exportedmodules visible="yes"/>
|
||||
<memberdecl>
|
||||
<concepts visible="yes" title=""/>
|
||||
<classes visible="yes" title=""/>
|
||||
<enums visible="yes" title=""/>
|
||||
<typedefs visible="yes" title=""/>
|
||||
<functions visible="yes" title=""/>
|
||||
<variables visible="yes" title=""/>
|
||||
<membergroups visible="yes" title=""/>
|
||||
</memberdecl>
|
||||
<memberdecl>
|
||||
<files visible="yes"/>
|
||||
</memberdecl>
|
||||
</module>
|
||||
|
||||
<!-- Layout definition for a directory page -->
|
||||
<directory>
|
||||
<briefdescription visible="no"/>
|
||||
<detaileddescription visible="yes" title=""/>
|
||||
<directorygraph visible="yes"/>
|
||||
<memberdecl>
|
||||
<dirs visible="yes"/>
|
||||
<files visible="yes"/>
|
||||
</memberdecl>
|
||||
</directory>
|
||||
</doxygenlayout>
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
SHELL := /bin/bash
|
||||
|
||||
SOURCE_FILES := $(shell find ../../modules -type f -name "juce_*.h" -or -name "juce_*.dox" | sed 's/ /\\ /g')
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
doc/index.html: build/juce_modules.dox Doxyfile
|
||||
doxygen
|
||||
|
||||
build/juce_modules.dox: process_source_files.py $(SOURCE_FILES)
|
||||
python $< ../../modules build
|
||||
|
||||
clean:
|
||||
rm -rf build doc
|
||||
|
||||
21
docs/doxygen/README.md
Normal file
21
docs/doxygen/README.md
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# JUCE's Doxygen documentation
|
||||
|
||||
JUCE's doxygen setup aims to be pretty vanilla Doxygen and can be run like so:
|
||||
|
||||
```
|
||||
doxygen Doxyfile
|
||||
```
|
||||
|
||||
However, `build.py` can be run to generate additional documentation indexes for JUCE modules:
|
||||
|
||||
```
|
||||
python3 build.py
|
||||
```
|
||||
|
||||
## Styles
|
||||
|
||||
`HTML_STYLESHEET` is left empty, meaning that Doxygen will generate its default styles.
|
||||
|
||||
JUCE specific overrides then live in `css/doxygen-juce-overrides.css`.
|
||||
|
||||
Code highlighting is done with [highlight.js](highlightjs.org).
|
||||
183
docs/doxygen/build.py
Normal file
183
docs/doxygen/build.py
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
from pathlib import Path
|
||||
import argparse
|
||||
import os
|
||||
import subprocess
|
||||
import xml.etree.ElementTree as ET
|
||||
from xml.etree.ElementTree import Element
|
||||
import re
|
||||
|
||||
def get_module_description(module_header: Path) -> str:
|
||||
with open(module_header, 'r') as f:
|
||||
content = f.read()
|
||||
declaration = content[content.find('BEGIN_JUCE_MODULE_DECLARATION'):content.find('END_JUCE_MODULE_DECLARATION')]
|
||||
for line in map(lambda x: x.strip(), declaration.split("\n")):
|
||||
if line.startswith('description:'):
|
||||
return line.removeprefix('description:').strip()
|
||||
|
||||
def createContentDict() -> dict:
|
||||
return {
|
||||
'classes/structs': {},
|
||||
'functions': {},
|
||||
'typedefs': {},
|
||||
'macros': {},
|
||||
'enums': {},
|
||||
'dirs': {}
|
||||
}
|
||||
|
||||
def getContentObjectFromPath(root_object: dict, location: str) -> dict:
|
||||
path_components = Path(location).parts
|
||||
contents = root_object[path_components[0]]
|
||||
for path_component in path_components[1:-1]:
|
||||
if not (path_component in contents['dirs']):
|
||||
contents['dirs'][path_component] = createContentDict()
|
||||
contents = contents['dirs'][path_component]
|
||||
return contents
|
||||
|
||||
def parseNamespaceXml(root_object, filename):
|
||||
element = ET.parse(f'xml/{filename}').getroot()
|
||||
|
||||
for class_reference in element.findall('.//innerclass'):
|
||||
refid = class_reference.attrib['refid']
|
||||
html_filename = f'{refid}.html'
|
||||
if not Path(f'doc/{html_filename}').is_file():
|
||||
continue
|
||||
xml_path = Path(f'xml/{refid}.xml')
|
||||
if not xml_path.is_file():
|
||||
continue
|
||||
class_element = ET.parse(xml_path).getroot()
|
||||
location = class_element.find('.//location').attrib['file']
|
||||
contents = getContentObjectFromPath(root_object, location)
|
||||
contents['classes/structs'][class_reference.text.removeprefix('juce::')] = {
|
||||
'url': f'./{html_filename}'
|
||||
}
|
||||
|
||||
namespace_def_id = element.find('.//compounddef').attrib['id']
|
||||
namespace_id_prefix = f'{namespace_def_id}_1'
|
||||
|
||||
for kind, contents_key in (('function', 'functions'), ('typedef', 'typedefs'), ('enum', 'enums')):
|
||||
for reference in element.findall(f".//memberdef[@kind='{kind}']"):
|
||||
desc = reference.find('briefdescription')
|
||||
if (len(desc) == 0) and (not desc.text.strip()):
|
||||
continue
|
||||
ref_id = reference.attrib['id']
|
||||
if not ref_id.startswith(namespace_id_prefix):
|
||||
continue
|
||||
name = reference.find('.//qualifiedname').text.removeprefix('juce::')
|
||||
if re.search(r'operator[+\-*/=!<>]*$', name):
|
||||
continue
|
||||
anchor = ref_id.removeprefix(namespace_id_prefix)
|
||||
location = reference.find('.//location').attrib['file']
|
||||
contents = getContentObjectFromPath(modules, location)
|
||||
contents[contents_key][name] = {
|
||||
'url': f'./{namespace_def_id}.html#{anchor}'
|
||||
}
|
||||
|
||||
def parseFileXml(root_object, filename):
|
||||
element = ET.parse(f'xml/{filename}').getroot()
|
||||
compounddef_id = element.find('compounddef').attrib['id']
|
||||
def_reference_link_prefix = compounddef_id + '_1'
|
||||
for def_reference in element.findall(".//memberdef[@kind='define']"):
|
||||
def_id = def_reference.attrib['id']
|
||||
if not def_id.startswith(def_reference_link_prefix):
|
||||
continue
|
||||
def_desc = def_reference.find('briefdescription')
|
||||
if (len(def_desc) == 0) and (not def_desc.text.strip()):
|
||||
continue
|
||||
html_filename = f'{compounddef_id}.html'
|
||||
if not (Path('doc') / html_filename).exists():
|
||||
continue
|
||||
location = def_reference.find('.//location').attrib['file']
|
||||
contents = getContentObjectFromPath(root_object, location)
|
||||
anchor = def_id.removeprefix(def_reference_link_prefix)
|
||||
contents['macros'][def_reference.find('name').text] = {
|
||||
'url': f'./{html_filename}#{anchor}',
|
||||
}
|
||||
|
||||
def write_module_html_recursive(parent: Element, data: dict):
|
||||
for section_key, section_contents in data.items():
|
||||
if section_key in ('dirs', 'description'):
|
||||
continue
|
||||
if not section_contents:
|
||||
continue
|
||||
#ET.SubElement(parent, 'span', {'class': 'juce-module-contents-title'}).text = section_key
|
||||
section_list = ET.SubElement(parent, 'ul', {'class': 'juce-module-class-list'})
|
||||
for section_item_key, section_item_contents in sorted(section_contents.items()):
|
||||
item = ET.SubElement(section_list, 'li', {'class': 'juce-module-class-item'})
|
||||
ET.SubElement(item, 'a', {'href': section_item_contents['url'], 'class': 'juce-module-class-link'}).text = section_item_key
|
||||
if data['dirs']:
|
||||
dir_table = ET.SubElement(parent, 'table', {'class': 'juce-module-dir-table'})
|
||||
for dir_key, dir_contents in sorted(data['dirs'].items()):
|
||||
row = ET.SubElement(dir_table, 'tr', {'class': 'juce-module-dir-row'})
|
||||
ET.SubElement(row, 'td', {'class': 'juce-module-dir-name'}).text = dir_key
|
||||
content = ET.SubElement(row, 'td', {'class': 'juce-module-dir-contents'})
|
||||
write_module_html_recursive(content, dir_contents)
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--sitemap-url', help='The Doxygen sitemap configuration variable')
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.sitemap_url:
|
||||
os.environ['JUCE_SITEMAP_URL']=args.sitemap_url
|
||||
|
||||
print('--- Running Doxygen')
|
||||
subprocess.run("doxygen", shell=True, check=True)
|
||||
|
||||
print('--- Parsing module headers')
|
||||
modules_dir = Path('../../modules')
|
||||
assert modules_dir.is_dir()
|
||||
modules = {}
|
||||
for module_name in os.listdir(modules_dir):
|
||||
module_dir = modules_dir / module_name
|
||||
if not module_dir.is_dir():
|
||||
continue
|
||||
module_header = module_dir / f'{module_name}.h'
|
||||
if not module_header.is_file():
|
||||
continue
|
||||
modules[module_name] = createContentDict()
|
||||
modules[module_name]['description'] = get_module_description(module_header)
|
||||
|
||||
print('--- Parsing Doxygen XML')
|
||||
for xml_filename in os.listdir('xml'):
|
||||
if xml_filename.startswith('namespacejuce'):
|
||||
parseNamespaceXml(modules, xml_filename)
|
||||
elif xml_filename.startswith('juce__'):
|
||||
# There are no macros in the namespace XML so we need to get them separately
|
||||
parseFileXml(modules, xml_filename)
|
||||
|
||||
print('--- Creating JUCE Module HTML')
|
||||
|
||||
module_icon = ET.Element('svg', {'fill': '#000000', 'viewBox': '0 0 56 56', 'class': 'juce-module-icon'})
|
||||
ET.SubElement(module_icon, 'path', {'d': 'M 28.0000 26.6406 L 50.0783 14.1016 C 49.7264 13.75 49.3045 13.4688 48.7890 13.1875 L 32.2657 3.7657 C 30.8126 2.9453 29.4063 2.5000 28.0000 2.5000 C 26.5938 2.5000 25.1875 2.9453 23.7344 3.7657 L 7.2110 13.1875 C 6.6954 13.4688 6.2735 13.75 5.9219 14.1016 Z M 26.4063 53.5 L 26.4063 29.4532 L 4.3985 16.8906 C 4.2813 17.4063 4.2110 17.9688 4.2110 18.6719 L 4.2110 36.9297 C 4.2110 40.3281 5.4063 41.5938 7.5860 42.8360 L 25.9375 53.2891 C 26.1016 53.3828 26.2422 53.4532 26.4063 53.5 Z M 29.5938 53.5 C 29.7579 53.4532 29.8985 53.3828 30.0626 53.2891 L 48.4141 42.8360 C 50.5938 41.5938 51.7890 40.3281 51.7890 36.9297 L 51.7890 18.6719 C 51.7890 17.9688 51.7189 17.4063 51.6018 16.8906 L 29.5938 29.4532 Z'})
|
||||
|
||||
main_div = ET.Element('div', {'class': 'juce-modules-continer'})
|
||||
|
||||
toc_div = ET.SubElement(main_div, 'div', {'class': 'juce-module-toc-container'})
|
||||
ET.SubElement(toc_div, 'p', {'class': 'juce-module-toc-desc'}).text = "Here is a summary of the JUCE modules. To search absolutely everything please use the search bar."
|
||||
toc_table = ET.SubElement(toc_div, 'table', {'class': 'juce-module-toc-table'})
|
||||
for key, contents in sorted(modules.items()):
|
||||
toc_row = ET.SubElement(toc_table, 'tr', {'class': 'juce-module-toc-row'})
|
||||
module_toc_name = ET.SubElement(toc_row, 'td', {'class': 'juce-module-toc-module-name'})
|
||||
ET.SubElement(module_toc_name, 'a', {'href': f'#{key}', 'class': 'juce-module-toc-module-name-link'}).text = key
|
||||
ET.SubElement(toc_row, 'td', {'class': 'juce-module-toc-module-decs'}).text = contents['description']
|
||||
ET.SubElement(main_div, 'div', {'class': 'juce-module-toc-divider'})
|
||||
|
||||
for key, contents in sorted(modules.items()):
|
||||
module_div = ET.SubElement(main_div, 'div', {'class': 'juce-module'})
|
||||
module_header_div = ET.SubElement(module_div, 'div', {'class': 'juce-module-header'})
|
||||
module_title_div = ET.SubElement(module_header_div, 'div', {'class': 'juce-module-title'})
|
||||
module_title_div.append(module_icon)
|
||||
ET.SubElement(module_title_div, 'span', {'id': key, 'class': 'juce-module-name'}).text = key
|
||||
ET.SubElement(module_header_div, 'span', {'class': 'juce-module-desc'}).text = contents['description']
|
||||
module_contents_div = ET.SubElement(module_div, 'div', {'class': 'juce-module-contents'})
|
||||
write_module_html_recursive(module_contents_div, contents)
|
||||
|
||||
print('--- Updating Doxygen HTML')
|
||||
html = ET.tostring(main_div, encoding='utf-8', method='html').decode('utf-8')
|
||||
with open('doc/index.html', 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
content = content.replace('JUCE Documentation', 'JUCE Modules')
|
||||
key = '<div class="contents">'
|
||||
index = content.index(key) + len(key)
|
||||
content = content[:index] + html + content[index:]
|
||||
with open('doc/index.html', 'w', encoding='utf-8') as f:
|
||||
f.write(content)
|
||||
249
docs/doxygen/css/doxygen-juce-overrides.css
Normal file
249
docs/doxygen/css/doxygen-juce-overrides.css
Normal file
|
|
@ -0,0 +1,249 @@
|
|||
/*
|
||||
Modified Doxygen Theme for JUCE
|
||||
|
||||
Don't edit the main doxygen-1.14.css file, edit this instead.
|
||||
|
||||
This file is included after the base theme to override specific styles.
|
||||
*/
|
||||
|
||||
/* Use Open Sans everywhere, Inconsalata for code */
|
||||
html,
|
||||
body {
|
||||
--font-family-normal: "Open Sans", Helvetica, Arial, sans-serif;
|
||||
--font-family-monospace: "Inconsolata", monospace;
|
||||
--font-family-nav: "Open Sans", Helvetica, Arial, sans-serif;
|
||||
--font-family-title: "Open Sans", Helvetica, Arial, sans-serif;
|
||||
--font-family-toc: "Open Sans", Helvetica, Arial, sans-serif;
|
||||
--font-family-search: "Open Sans", Helvetica, Arial, sans-serif;
|
||||
--font-family-icon: Arial, Helvetica;
|
||||
--font-family-tooltip: "Open Sans", Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
/* 14px is a good readable minimum */
|
||||
body,
|
||||
table,
|
||||
div,
|
||||
p,
|
||||
dl {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/* slightly larger text blocks for better readability */
|
||||
p {
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
/* nicer code blocks */
|
||||
pre {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
pre code {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: var(--font-family-monospace);
|
||||
}
|
||||
|
||||
/* all links should display underline on hover */
|
||||
a:hover {
|
||||
color: var(--page-link-color);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* make sure we aren't hugging the sides for readablity */
|
||||
#doc-content {
|
||||
margin: 0 1.5em;
|
||||
}
|
||||
|
||||
#main-nav {
|
||||
padding: 0 1em;
|
||||
}
|
||||
|
||||
/* Readability is TERRIBLE with unlimited widths. UX 101 */
|
||||
div.textblock {
|
||||
max-width: 750px;
|
||||
}
|
||||
|
||||
div.textblock h2 {
|
||||
margin-top: 1.5em;
|
||||
}
|
||||
|
||||
/* Tame the search UX */
|
||||
#MSearchField {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.SRPage {
|
||||
margin: 0.5em;
|
||||
}
|
||||
|
||||
.SRPage .SREntry {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.SRChildren {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#navrow1 .tablist>li:last-child {
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
|
||||
/* Give the header a bit of room */
|
||||
div.header {
|
||||
background-color: transparent;
|
||||
border-bottom: none;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
/* Align this sub-nav with the heading */
|
||||
div.summary {
|
||||
margin-top: 1.5em;
|
||||
}
|
||||
|
||||
/* Breadcrumbs aren't useful, so lets hide them */
|
||||
div#nav-path {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Hide the unnecessarily noisy "Detailed Description" header */
|
||||
h2.groupheader#header-details {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* remove noisy extra lines in headers */
|
||||
td h2.groupheader {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Doxygen uses monospace for headings, which is rough on scannability.
|
||||
It's also using 1990s style css with tables and "float left" for layout
|
||||
*/
|
||||
h2.memtitle {
|
||||
font-family: var(--font-family-normal);
|
||||
font-size: 20px;
|
||||
font-weight: 300;
|
||||
float: none;
|
||||
width: max-content;
|
||||
/* this is what they wanted vs. float */
|
||||
}
|
||||
|
||||
/* limit the width of member lists for basic readability */
|
||||
div.memitem {
|
||||
max-width: 750px;
|
||||
}
|
||||
|
||||
/* member declarations should also not be monospace */
|
||||
.memberdecls tr[class^='memitem'] {
|
||||
font-family: var(--font-family-normal);
|
||||
}
|
||||
|
||||
/* better spacing around section headers */
|
||||
tr.heading h2 {
|
||||
margin-top: 2em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
/* sane line height on class index */
|
||||
.classindex dd {
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
/* descriptions should be readable */
|
||||
div.contents div.textblock p {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
/* get rid of crufty borders and background colors */
|
||||
.memItemLeft,
|
||||
.memItemRight,
|
||||
memTemplParams {
|
||||
background-color: transparent;
|
||||
border-right: none;
|
||||
border-left: none;
|
||||
border-bottom: none;
|
||||
padding: 0.6em 0 0 0;
|
||||
}
|
||||
|
||||
.mdescLeft,
|
||||
.mdescRight {
|
||||
border-right: none;
|
||||
border-left: none;
|
||||
padding: 0 0 0.6em 0;
|
||||
}
|
||||
|
||||
tr[class^='memdesc'] {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* tame crufty borders on member lists */
|
||||
.memproto,
|
||||
dl.reflist dt {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
/* chill out on the 1990s crufty rolodex card borders */
|
||||
html {
|
||||
--memdef-border-color: #a8b8d949;
|
||||
}
|
||||
|
||||
/* JUCE MODULES */
|
||||
.juce-modules-continer {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
.juce-module-toc-table {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
.juce-module-toc-divider {
|
||||
border-bottom: 1px solid;
|
||||
margin-top: 2em;
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
.juce-module-toc-module-name {
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
.juce-module-desc {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
.juce-module-contents {
|
||||
margin-top: 1em;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
.juce-module-title {
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.juce-module-icon {
|
||||
height: 1.5em;
|
||||
margin-right: 0.75em;
|
||||
vertical-align: middle;
|
||||
fill: var(--page-foreground-color);
|
||||
}
|
||||
|
||||
.juce-module-name {
|
||||
font-size: 1.5em;
|
||||
font-weight: bold;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.juce-module-dir-name {
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
vertical-align: top;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
.juce-module-class-list {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin-top: 1.5em;
|
||||
}
|
||||
5342
docs/doxygen/css/header.css
Normal file
5342
docs/doxygen/css/header.css
Normal file
File diff suppressed because it is too large
Load diff
8
docs/doxygen/css/tokyo-night-dark.min.css
vendored
Normal file
8
docs/doxygen/css/tokyo-night-dark.min.css
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
|
||||
Theme: Tokyo-night-Dark
|
||||
origin: https://github.com/enkia/tokyo-night-vscode-theme
|
||||
Description: Original highlight.js style
|
||||
Author: (c) Henri Vandersleyen <hvandersleyen@gmail.com>
|
||||
License: see project LICENSE
|
||||
Touched: 2022
|
||||
*/.hljs-comment,.hljs-meta{color:#565f89}.hljs-deletion,.hljs-doctag,.hljs-regexp,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-tag,.hljs-template-tag,.hljs-variable.language_{color:#f7768e}.hljs-link,.hljs-literal,.hljs-number,.hljs-params,.hljs-template-variable,.hljs-type,.hljs-variable{color:#ff9e64}.hljs-attribute,.hljs-built_in{color:#e0af68}.hljs-keyword,.hljs-property,.hljs-subst,.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#7dcfff}.hljs-selector-tag{color:#73daca}.hljs-addition,.hljs-bullet,.hljs-quote,.hljs-string,.hljs-symbol{color:#9ece6a}.hljs-code,.hljs-formula,.hljs-section{color:#7aa2f7}.hljs-attr,.hljs-char.escape_,.hljs-keyword,.hljs-name,.hljs-operator{color:#bb9af7}.hljs-punctuation{color:#c0caf5}.hljs{background:#1a1b26;color:#9aa5ce}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}
|
||||
4
docs/doxygen/error.html
Normal file
4
docs/doxygen/error.html
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<html>
|
||||
<p>The requested resource is not available.</p>
|
||||
<p>Please contact info@juce.com if you were expecting to find something here.</p>
|
||||
</html>
|
||||
BIN
docs/doxygen/favicon.ico
Normal file
BIN
docs/doxygen/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
87
docs/doxygen/footer.html
Normal file
87
docs/doxygen/footer.html
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
<!-- HTML footer for doxygen 1.14.0-->
|
||||
<!-- start footer part -->
|
||||
<!--BEGIN GENERATE_TREEVIEW-->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
$navpath
|
||||
<li class="footer">$generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion </li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--END GENERATE_TREEVIEW-->
|
||||
<!--BEGIN !GENERATE_TREEVIEW-->
|
||||
</div><!-- doc-content -->
|
||||
<!--END !GENERATE_TREEVIEW-->
|
||||
|
||||
<section id="section-10-81" class=" ct-section juce-sitemap"><div class="ct-section-inner-wrap"><div id="div_block-11-81" class="ct-div-block"><div id="new_columns-12-81" class="ct-new-columns"><div id="div_block-13-81" class="ct-div-block"><h3 id="headline-15-81" class="ct-headline ">Purchase</h3><a id="link_text-17-81" class="ct-link-text" href="https://juce.com/get-juce/">Get JUCE</a><h3 id="headline-20-81" class="ct-headline mt-xlrg">Discover</h3><a id="link_text-21-81" class="ct-link-text" href="https://juce.com/juce/whats-new/" target="_self">What's New in JUCE</a><a id="link_text-22-81" class="ct-link-text" href="https://juce.com/juce/features/" target="_self">Features</a><h3 id="headline-25-81" class="ct-headline mt-xlrg">Learn</h3><a id="link_text-27-81" class="ct-link-text" href="https://juce.com/learn/documentation/">Documentaion</a><a id="link_text-26-81" class="ct-link-text" href="https://juce.com/learn/tutorials/">Tutorials</a><a id="link_text-24-81" class="ct-link-text" href="https://juce.com/stories/" target="_self">Made with JUCE</a><a id="link_text-29-127" class="ct-link-text" href="https://juce.com/resources/" target="_self">Resources</a></div><div id="div_block-14-81" class="ct-div-block"><h3 id="headline-28-81" class="ct-headline">Support</h3><a id="link_text-31-81" class="ct-link-text" href="https://forum.juce.com/" target="_self">JUCE Forum</a><a class="ct-link-text" href="https://juce.com/newsletter" target="_self">Newsletter</a><a id="link_text-30-127" class="ct-link-text" href="https://juce.com/archive/">Archive</a><h3 id="headline-32-81" class="ct-headline mt-xlrg">About</h3><a id="link_text-29-81" class="ct-link-text" href="https://juce.com/contact-us/">Contact Us</a><a id="link_text-34-81" class="ct-link-text" href="https://juce.com/juce-legal/">JUCE Legal</a><a id="link_text-30-81" class="ct-link-text" href="https://juce.com/get-juce">JUCE Licensing FAQ</a><h3 id="headline-33-81" class="ct-headline mt-xlrg">Events</h3><a id="link_text-35-81" class="ct-link-text" href="https://audio.dev" target="_blank">Audio Developer Conference</a></div><div id="div_block-38-81" class="ct-div-block"></div></div></div></div></section>
|
||||
|
||||
<section id="section-13-13" class=" ct-section"><div class="ct-section-inner-wrap"><div id="new_columns-14-13" class="ct-new-columns"><div id="div_block-20-13" class="ct-div-block"><div id="_social_icons-22-13" class="oxy-social-icons"><a href="https://www.facebook.com/jucelibrary" target="_blank" class="oxy-social-icons-facebook"><svg><title>Visit our Facebook</title><use xlink:href="#oxy-social-icons-icon-facebook"></use></svg></a><a href="https://twitter.com/jucelibrary" target="_blank" class="oxy-social-icons-twitter"><svg><title>Visit our Twitter</title><use xlink:href="#oxy-social-icons-icon-twitter"></use></svg></a><a href="https://www.linkedin.com/company/juce-c-/" target="_blank" class="oxy-social-icons-linkedin"><svg><title>Visit our LinkedIn</title><use xlink:href="#oxy-social-icons-icon-linkedin"></use></svg></a><a href="https://www.youtube.com/c/JUCElibrary" target="_blank" class="oxy-social-icons-youtube"><svg><title>Visit our YouTube channel</title><use xlink:href="#oxy-social-icons-icon-youtube"></use></svg></a></div></div><div id="div_block-17-13" class="ct-div-block"><a id="link-18-13" class="ct-link" href="https://juce.com"><img id="image-19-13" alt="JUCE Logo" src="https://juce.com/wp-content/uploads/2022/07/JUCE-logo-horiz-ondark.png" class="ct-image"></a></div><div id="div_block-15-13" class="ct-div-block"><div id="text_block-32-13" class="ct-text-block">© Raw Material Software Limited</div></div></div></div></section>
|
||||
|
||||
<svg style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<symbol id="oxy-social-icons-icon-linkedin" viewBox="0 0 32 32">
|
||||
<title>linkedin</title>
|
||||
<path d="M12 12h5.535v2.837h0.079c0.77-1.381 2.655-2.837 5.464-2.837 5.842 0 6.922 3.637 6.922 8.367v9.633h-5.769v-8.54c0-2.037-0.042-4.657-3.001-4.657-3.005 0-3.463 2.218-3.463 4.509v8.688h-5.767v-18z"></path>
|
||||
<path d="M2 12h6v18h-6v-18z"></path>
|
||||
<path d="M8 7c0 1.657-1.343 3-3 3s-3-1.343-3-3c0-1.657 1.343-3 3-3s3 1.343 3 3z"></path>
|
||||
</symbol>
|
||||
<symbol id="oxy-social-icons-icon-facebook" viewBox="0 0 32 32">
|
||||
<title>facebook</title>
|
||||
<path d="M19 6h5v-6h-5c-3.86 0-7 3.14-7 7v3h-4v6h4v16h6v-16h5l1-6h-6v-3c0-0.542 0.458-1 1-1z"></path>
|
||||
</symbol>
|
||||
<symbol id="oxy-social-icons-icon-pinterest" viewBox="0 0 32 32">
|
||||
<title>pinterest</title>
|
||||
<path d="M16 2.138c-7.656 0-13.863 6.206-13.863 13.863 0 5.875 3.656 10.887 8.813 12.906-0.119-1.094-0.231-2.781 0.050-3.975 0.25-1.081 1.625-6.887 1.625-6.887s-0.412-0.831-0.412-2.056c0-1.925 1.119-3.369 2.506-3.369 1.181 0 1.756 0.887 1.756 1.95 0 1.188-0.756 2.969-1.15 4.613-0.331 1.381 0.688 2.506 2.050 2.506 2.462 0 4.356-2.6 4.356-6.35 0-3.319-2.387-5.638-5.787-5.638-3.944 0-6.256 2.956-6.256 6.019 0 1.194 0.456 2.469 1.031 3.163 0.113 0.137 0.131 0.256 0.094 0.4-0.106 0.438-0.338 1.381-0.387 1.575-0.063 0.256-0.2 0.306-0.463 0.188-1.731-0.806-2.813-3.337-2.813-5.369 0-4.375 3.175-8.387 9.156-8.387 4.806 0 8.544 3.425 8.544 8.006 0 4.775-3.012 8.625-7.194 8.625-1.406 0-2.725-0.731-3.175-1.594 0 0-0.694 2.644-0.863 3.294-0.313 1.206-1.156 2.712-1.725 3.631 1.3 0.4 2.675 0.619 4.106 0.619 7.656 0 13.863-6.206 13.863-13.863 0-7.662-6.206-13.869-13.863-13.869z"></path>
|
||||
</symbol>
|
||||
<symbol id="oxy-social-icons-icon-youtube" viewBox="0 0 32 32">
|
||||
<title>youtube</title>
|
||||
<path d="M31.681 9.6c0 0-0.313-2.206-1.275-3.175-1.219-1.275-2.581-1.281-3.206-1.356-4.475-0.325-11.194-0.325-11.194-0.325h-0.012c0 0-6.719 0-11.194 0.325-0.625 0.075-1.987 0.081-3.206 1.356-0.963 0.969-1.269 3.175-1.269 3.175s-0.319 2.588-0.319 5.181v2.425c0 2.587 0.319 5.181 0.319 5.181s0.313 2.206 1.269 3.175c1.219 1.275 2.819 1.231 3.531 1.369 2.563 0.244 10.881 0.319 10.881 0.319s6.725-0.012 11.2-0.331c0.625-0.075 1.988-0.081 3.206-1.356 0.962-0.969 1.275-3.175 1.275-3.175s0.319-2.587 0.319-5.181v-2.425c-0.006-2.588-0.325-5.181-0.325-5.181zM12.694 20.15v-8.994l8.644 4.513-8.644 4.481z"></path>
|
||||
</symbol>
|
||||
<symbol id="oxy-social-icons-icon-rss" viewBox="0 0 32 32">
|
||||
<title>rss</title>
|
||||
<path d="M4.259 23.467c-2.35 0-4.259 1.917-4.259 4.252 0 2.349 1.909 4.244 4.259 4.244 2.358 0 4.265-1.895 4.265-4.244-0-2.336-1.907-4.252-4.265-4.252zM0.005 10.873v6.133c3.993 0 7.749 1.562 10.577 4.391 2.825 2.822 4.384 6.595 4.384 10.603h6.16c-0-11.651-9.478-21.127-21.121-21.127zM0.012 0v6.136c14.243 0 25.836 11.604 25.836 25.864h6.152c0-17.64-14.352-32-31.988-32z"></path>
|
||||
</symbol>
|
||||
<symbol id="oxy-social-icons-icon-twitter" viewBox="0 0 32 32">
|
||||
<title>twitter</title>
|
||||
<path d="M32 7.075c-1.175 0.525-2.444 0.875-3.769 1.031 1.356-0.813 2.394-2.1 2.887-3.631-1.269 0.75-2.675 1.3-4.169 1.594-1.2-1.275-2.906-2.069-4.794-2.069-3.625 0-6.563 2.938-6.563 6.563 0 0.512 0.056 1.012 0.169 1.494-5.456-0.275-10.294-2.888-13.531-6.862-0.563 0.969-0.887 2.1-0.887 3.3 0 2.275 1.156 4.287 2.919 5.463-1.075-0.031-2.087-0.331-2.975-0.819 0 0.025 0 0.056 0 0.081 0 3.181 2.263 5.838 5.269 6.437-0.55 0.15-1.131 0.231-1.731 0.231-0.425 0-0.831-0.044-1.237-0.119 0.838 2.606 3.263 4.506 6.131 4.563-2.25 1.762-5.075 2.813-8.156 2.813-0.531 0-1.050-0.031-1.569-0.094 2.913 1.869 6.362 2.95 10.069 2.95 12.075 0 18.681-10.006 18.681-18.681 0-0.287-0.006-0.569-0.019-0.85 1.281-0.919 2.394-2.075 3.275-3.394z"></path>
|
||||
</symbol>
|
||||
<symbol id="oxy-social-icons-icon-instagram" viewBox="0 0 32 32">
|
||||
<title>instagram</title>
|
||||
<path d="M16 2.881c4.275 0 4.781 0.019 6.462 0.094 1.563 0.069 2.406 0.331 2.969 0.55 0.744 0.288 1.281 0.638 1.837 1.194 0.563 0.563 0.906 1.094 1.2 1.838 0.219 0.563 0.481 1.412 0.55 2.969 0.075 1.688 0.094 2.194 0.094 6.463s-0.019 4.781-0.094 6.463c-0.069 1.563-0.331 2.406-0.55 2.969-0.288 0.744-0.637 1.281-1.194 1.837-0.563 0.563-1.094 0.906-1.837 1.2-0.563 0.219-1.413 0.481-2.969 0.55-1.688 0.075-2.194 0.094-6.463 0.094s-4.781-0.019-6.463-0.094c-1.563-0.069-2.406-0.331-2.969-0.55-0.744-0.288-1.281-0.637-1.838-1.194-0.563-0.563-0.906-1.094-1.2-1.837-0.219-0.563-0.481-1.413-0.55-2.969-0.075-1.688-0.094-2.194-0.094-6.463s0.019-4.781 0.094-6.463c0.069-1.563 0.331-2.406 0.55-2.969 0.288-0.744 0.638-1.281 1.194-1.838 0.563-0.563 1.094-0.906 1.838-1.2 0.563-0.219 1.412-0.481 2.969-0.55 1.681-0.075 2.188-0.094 6.463-0.094zM16 0c-4.344 0-4.887 0.019-6.594 0.094-1.7 0.075-2.869 0.35-3.881 0.744-1.056 0.412-1.95 0.956-2.837 1.85-0.894 0.888-1.438 1.781-1.85 2.831-0.394 1.019-0.669 2.181-0.744 3.881-0.075 1.713-0.094 2.256-0.094 6.6s0.019 4.887 0.094 6.594c0.075 1.7 0.35 2.869 0.744 3.881 0.413 1.056 0.956 1.95 1.85 2.837 0.887 0.887 1.781 1.438 2.831 1.844 1.019 0.394 2.181 0.669 3.881 0.744 1.706 0.075 2.25 0.094 6.594 0.094s4.888-0.019 6.594-0.094c1.7-0.075 2.869-0.35 3.881-0.744 1.050-0.406 1.944-0.956 2.831-1.844s1.438-1.781 1.844-2.831c0.394-1.019 0.669-2.181 0.744-3.881 0.075-1.706 0.094-2.25 0.094-6.594s-0.019-4.887-0.094-6.594c-0.075-1.7-0.35-2.869-0.744-3.881-0.394-1.063-0.938-1.956-1.831-2.844-0.887-0.887-1.781-1.438-2.831-1.844-1.019-0.394-2.181-0.669-3.881-0.744-1.712-0.081-2.256-0.1-6.6-0.1v0z"></path>
|
||||
<path d="M16 7.781c-4.537 0-8.219 3.681-8.219 8.219s3.681 8.219 8.219 8.219 8.219-3.681 8.219-8.219c0-4.537-3.681-8.219-8.219-8.219zM16 21.331c-2.944 0-5.331-2.387-5.331-5.331s2.387-5.331 5.331-5.331c2.944 0 5.331 2.387 5.331 5.331s-2.387 5.331-5.331 5.331z"></path>
|
||||
<path d="M26.462 7.456c0 1.060-0.859 1.919-1.919 1.919s-1.919-0.859-1.919-1.919c0-1.060 0.859-1.919 1.919-1.919s1.919 0.859 1.919 1.919z"></path>
|
||||
</symbol>
|
||||
<symbol id="oxy-social-icons-icon-facebook-blank" viewBox="0 0 32 32">
|
||||
<title>facebook-blank</title>
|
||||
<path d="M29 0h-26c-1.65 0-3 1.35-3 3v26c0 1.65 1.35 3 3 3h13v-14h-4v-4h4v-2c0-3.306 2.694-6 6-6h4v4h-4c-1.1 0-2 0.9-2 2v2h6l-1 4h-5v14h9c1.65 0 3-1.35 3-3v-26c0-1.65-1.35-3-3-3z"></path>
|
||||
</symbol>
|
||||
<symbol id="oxy-social-icons-icon-rss-blank" viewBox="0 0 32 32">
|
||||
<title>rss-blank</title>
|
||||
<path d="M29 0h-26c-1.65 0-3 1.35-3 3v26c0 1.65 1.35 3 3 3h26c1.65 0 3-1.35 3-3v-26c0-1.65-1.35-3-3-3zM8.719 25.975c-1.5 0-2.719-1.206-2.719-2.706 0-1.488 1.219-2.712 2.719-2.712 1.506 0 2.719 1.225 2.719 2.712 0 1.5-1.219 2.706-2.719 2.706zM15.544 26c0-2.556-0.994-4.962-2.794-6.762-1.806-1.806-4.2-2.8-6.75-2.8v-3.912c7.425 0 13.475 6.044 13.475 13.475h-3.931zM22.488 26c0-9.094-7.394-16.5-16.481-16.5v-3.912c11.25 0 20.406 9.162 20.406 20.413h-3.925z"></path>
|
||||
</symbol>
|
||||
<symbol id="oxy-social-icons-icon-linkedin-blank" viewBox="0 0 32 32">
|
||||
<title>linkedin-blank</title>
|
||||
<path d="M29 0h-26c-1.65 0-3 1.35-3 3v26c0 1.65 1.35 3 3 3h26c1.65 0 3-1.35 3-3v-26c0-1.65-1.35-3-3-3zM12 26h-4v-14h4v14zM10 10c-1.106 0-2-0.894-2-2s0.894-2 2-2c1.106 0 2 0.894 2 2s-0.894 2-2 2zM26 26h-4v-8c0-1.106-0.894-2-2-2s-2 0.894-2 2v8h-4v-14h4v2.481c0.825-1.131 2.087-2.481 3.5-2.481 2.488 0 4.5 2.238 4.5 5v9z"></path>
|
||||
</symbol>
|
||||
<symbol id="oxy-social-icons-icon-pinterest-blank" viewBox="0 0 32 32">
|
||||
<title>pinterest</title>
|
||||
<path d="M16 2.138c-7.656 0-13.863 6.206-13.863 13.863 0 5.875 3.656 10.887 8.813 12.906-0.119-1.094-0.231-2.781 0.050-3.975 0.25-1.081 1.625-6.887 1.625-6.887s-0.412-0.831-0.412-2.056c0-1.925 1.119-3.369 2.506-3.369 1.181 0 1.756 0.887 1.756 1.95 0 1.188-0.756 2.969-1.15 4.613-0.331 1.381 0.688 2.506 2.050 2.506 2.462 0 4.356-2.6 4.356-6.35 0-3.319-2.387-5.638-5.787-5.638-3.944 0-6.256 2.956-6.256 6.019 0 1.194 0.456 2.469 1.031 3.163 0.113 0.137 0.131 0.256 0.094 0.4-0.106 0.438-0.338 1.381-0.387 1.575-0.063 0.256-0.2 0.306-0.463 0.188-1.731-0.806-2.813-3.337-2.813-5.369 0-4.375 3.175-8.387 9.156-8.387 4.806 0 8.544 3.425 8.544 8.006 0 4.775-3.012 8.625-7.194 8.625-1.406 0-2.725-0.731-3.175-1.594 0 0-0.694 2.644-0.863 3.294-0.313 1.206-1.156 2.712-1.725 3.631 1.3 0.4 2.675 0.619 4.106 0.619 7.656 0 13.863-6.206 13.863-13.863 0-7.662-6.206-13.869-13.863-13.869z"></path>
|
||||
</symbol>
|
||||
<symbol id="oxy-social-icons-icon-youtube-blank" viewBox="0 0 32 32">
|
||||
<title>youtube</title>
|
||||
<path d="M31.681 9.6c0 0-0.313-2.206-1.275-3.175-1.219-1.275-2.581-1.281-3.206-1.356-4.475-0.325-11.194-0.325-11.194-0.325h-0.012c0 0-6.719 0-11.194 0.325-0.625 0.075-1.987 0.081-3.206 1.356-0.963 0.969-1.269 3.175-1.269 3.175s-0.319 2.588-0.319 5.181v2.425c0 2.587 0.319 5.181 0.319 5.181s0.313 2.206 1.269 3.175c1.219 1.275 2.819 1.231 3.531 1.369 2.563 0.244 10.881 0.319 10.881 0.319s6.725-0.012 11.2-0.331c0.625-0.075 1.988-0.081 3.206-1.356 0.962-0.969 1.275-3.175 1.275-3.175s0.319-2.587 0.319-5.181v-2.425c-0.006-2.588-0.325-5.181-0.325-5.181zM12.694 20.15v-8.994l8.644 4.513-8.644 4.481z"></path>
|
||||
</symbol>
|
||||
<symbol id="oxy-social-icons-icon-twitter-blank" viewBox="0 0 32 32">
|
||||
<title>twitter</title>
|
||||
<path d="M32 7.075c-1.175 0.525-2.444 0.875-3.769 1.031 1.356-0.813 2.394-2.1 2.887-3.631-1.269 0.75-2.675 1.3-4.169 1.594-1.2-1.275-2.906-2.069-4.794-2.069-3.625 0-6.563 2.938-6.563 6.563 0 0.512 0.056 1.012 0.169 1.494-5.456-0.275-10.294-2.888-13.531-6.862-0.563 0.969-0.887 2.1-0.887 3.3 0 2.275 1.156 4.287 2.919 5.463-1.075-0.031-2.087-0.331-2.975-0.819 0 0.025 0 0.056 0 0.081 0 3.181 2.263 5.838 5.269 6.437-0.55 0.15-1.131 0.231-1.731 0.231-0.425 0-0.831-0.044-1.237-0.119 0.838 2.606 3.263 4.506 6.131 4.563-2.25 1.762-5.075 2.813-8.156 2.813-0.531 0-1.050-0.031-1.569-0.094 2.913 1.869 6.362 2.95 10.069 2.95 12.075 0 18.681-10.006 18.681-18.681 0-0.287-0.006-0.569-0.019-0.85 1.281-0.919 2.394-2.075 3.275-3.394z"></path>
|
||||
</symbol>
|
||||
<symbol id="oxy-social-icons-icon-instagram-blank" viewBox="0 0 32 32">
|
||||
<title>instagram</title>
|
||||
<path d="M16 2.881c4.275 0 4.781 0.019 6.462 0.094 1.563 0.069 2.406 0.331 2.969 0.55 0.744 0.288 1.281 0.638 1.837 1.194 0.563 0.563 0.906 1.094 1.2 1.838 0.219 0.563 0.481 1.412 0.55 2.969 0.075 1.688 0.094 2.194 0.094 6.463s-0.019 4.781-0.094 6.463c-0.069 1.563-0.331 2.406-0.55 2.969-0.288 0.744-0.637 1.281-1.194 1.837-0.563 0.563-1.094 0.906-1.837 1.2-0.563 0.219-1.413 0.481-2.969 0.55-1.688 0.075-2.194 0.094-6.463 0.094s-4.781-0.019-6.463-0.094c-1.563-0.069-2.406-0.331-2.969-0.55-0.744-0.288-1.281-0.637-1.838-1.194-0.563-0.563-0.906-1.094-1.2-1.837-0.219-0.563-0.481-1.413-0.55-2.969-0.075-1.688-0.094-2.194-0.094-6.463s0.019-4.781 0.094-6.463c0.069-1.563 0.331-2.406 0.55-2.969 0.288-0.744 0.638-1.281 1.194-1.838 0.563-0.563 1.094-0.906 1.838-1.2 0.563-0.219 1.412-0.481 2.969-0.55 1.681-0.075 2.188-0.094 6.463-0.094zM16 0c-4.344 0-4.887 0.019-6.594 0.094-1.7 0.075-2.869 0.35-3.881 0.744-1.056 0.412-1.95 0.956-2.837 1.85-0.894 0.888-1.438 1.781-1.85 2.831-0.394 1.019-0.669 2.181-0.744 3.881-0.075 1.713-0.094 2.256-0.094 6.6s0.019 4.887 0.094 6.594c0.075 1.7 0.35 2.869 0.744 3.881 0.413 1.056 0.956 1.95 1.85 2.837 0.887 0.887 1.781 1.438 2.831 1.844 1.019 0.394 2.181 0.669 3.881 0.744 1.706 0.075 2.25 0.094 6.594 0.094s4.888-0.019 6.594-0.094c1.7-0.075 2.869-0.35 3.881-0.744 1.050-0.406 1.944-0.956 2.831-1.844s1.438-1.781 1.844-2.831c0.394-1.019 0.669-2.181 0.744-3.881 0.075-1.706 0.094-2.25 0.094-6.594s-0.019-4.887-0.094-6.594c-0.075-1.7-0.35-2.869-0.744-3.881-0.394-1.063-0.938-1.956-1.831-2.844-0.887-0.887-1.781-1.438-2.831-1.844-1.019-0.394-2.181-0.669-3.881-0.744-1.712-0.081-2.256-0.1-6.6-0.1v0z"></path>
|
||||
<path d="M16 7.781c-4.537 0-8.219 3.681-8.219 8.219s3.681 8.219 8.219 8.219 8.219-3.681 8.219-8.219c0-4.537-3.681-8.219-8.219-8.219zM16 21.331c-2.944 0-5.331-2.387-5.331-5.331s2.387-5.331 5.331-5.331c2.944 0 5.331 2.387 5.331 5.331s-2.387 5.331-5.331 5.331z"></path>
|
||||
<path d="M26.462 7.456c0 1.060-0.859 1.919-1.919 1.919s-1.919-0.859-1.919-1.919c0-1.060 0.859-1.919 1.919-1.919s1.919 0.859 1.919 1.919z"></path>
|
||||
</symbol>
|
||||
</defs>
|
||||
</svg>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
108
docs/doxygen/header.html
Normal file
108
docs/doxygen/header.html
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
<!-- HTML header for doxygen 1.14.0-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="$langISO">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen $doxygenversion"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
|
||||
<!--BEGIN PROJECT_ICON-->
|
||||
<link rel="icon" href="$relpath^$projecticon" type="image/x-icon" />
|
||||
<!--END PROJECT_ICON-->
|
||||
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<!--BEGIN FULL_SIDEBAR-->
|
||||
<script type="text/javascript">var page_layout=1;</script>
|
||||
<!--END FULL_SIDEBAR-->
|
||||
<script type="text/javascript" src="$relpath^jquery.js"></script>
|
||||
<script type="text/javascript" src="$relpath^dynsections.js"></script>
|
||||
<!--BEGIN COPY_CLIPBOARD-->
|
||||
<script type="text/javascript" src="$relpath^clipboard.js"></script>
|
||||
<!--END COPY_CLIPBOARD-->
|
||||
$treeview
|
||||
$search
|
||||
$mathjax
|
||||
$darkmode
|
||||
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
|
||||
$extrastylesheet
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Inconsolata:wght@200..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap"
|
||||
rel="stylesheet">
|
||||
<script src="https://cdn.usefathom.com/script.js" site="COHIAING" defer></script>
|
||||
<script src="$relpath^highlight.min.js"></script>
|
||||
<script src="$relpath^cpp.min.js"></script>
|
||||
<script>
|
||||
/* fix doxygen's output to allow actual code highlighting */
|
||||
$(function () {
|
||||
$(".fragment").each(function () {
|
||||
const $frag = $(this);
|
||||
|
||||
// Collect only the code lines; ignore tooltips/links/extra html.
|
||||
const lines = $frag.children(".line").map(function () {
|
||||
return $(this).text();
|
||||
}).get();
|
||||
|
||||
const codeText = lines.join("\n");
|
||||
|
||||
// Build <pre><code> and set a language class (or omit for auto-detect).
|
||||
const $code = $("<code>", { class: "language-cpp" }).text(codeText);
|
||||
const $pre = $("<pre>").append($code);
|
||||
|
||||
// Replace the entire fragment with <pre><code>
|
||||
$frag.replaceWith($pre);
|
||||
|
||||
// Highlight the new code element
|
||||
hljs.highlightElement($code[0]);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<header id="_header-4-13" class="oxy-header-wrapper oxy-overlay-header oxy-header"><div id="_header_row-5-13" class="oxy-header-row"><div class="oxy-header-container"><div id="_header_left-6-13" class="oxy-header-left"><a id="link-7-13" class="ct-link" href="https://juce.com"><img id="image-8-13" alt="JUCE Logo" src="https://juce.com/wp-content/uploads/2022/07/JUCE-logo-horiz-ondark.png" class="ct-image"></a></div><div id="_header_center-9-13" class="oxy-header-center"></div><div id="_header_right-10-13" class="oxy-header-right"><nav id="_nav_menu-11-13" class="oxy-nav-menu oxy-nav-menu-dropdowns oxy-nav-menu-dropdown-arrow oxy-nav-menu-responsive-dropdowns"><div class="oxy-menu-toggle"><div class="oxy-nav-menu-hamburger-wrap"><div class="oxy-nav-menu-hamburger"><div class="oxy-nav-menu-hamburger-line"></div><div class="oxy-nav-menu-hamburger-line"></div><div class="oxy-nav-menu-hamburger-line"></div></div></div></div><div class="menu-main-menu-container"><ul id="menu-main-menu" class="oxy-nav-menu-list"><li id="menu-item-290" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-290"><a href="https://juce.com/juce/whats-new/">Discover</a>
|
||||
<ul class="sub-menu">
|
||||
<li id="menu-item-254" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-254"><a href="https://juce.com/juce/whats-new/">What's New</a></li>
|
||||
<li id="menu-item-252" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-252"><a href="https://juce.com/juce/features/">Features</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li id="menu-item-291" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-291"><a href="https://juce.com/learn/documentation/">Learn</a>
|
||||
<ul class="sub-menu">
|
||||
<li id="menu-item-241" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-241"><a href="https://juce.com/learn/documentation/">Documentation</a></li>
|
||||
<li id="menu-item-240" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-240"><a href="https://juce.com/learn/tutorials/">Tutorials</a></li>
|
||||
<li id="menu-item-275" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-275"><a href="https://juce.com/stories/">Made with JUCE</a></li>
|
||||
<li id="menu-item-242" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-242"><a href="https://juce.com/resources/">Resources</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li id="menu-item-23099" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-230"><a href="https://juce.com/newsletter/">Newsletter</a></li>
|
||||
<li id="menu-item-230" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-230"><a href="https://forum.juce.com/">Forum</a></li>
|
||||
</ul></div></nav><a id="link-28-13" class="ct-link" href="https://account.juce.com/account/dashboard" target="_self"><div id="fancy_icon-27-13" class="ct-fancy-icon"><svg id="svg-fancy_icon-27-13"><use xlink:href="#FontAwesomeicon-user-circle"></use></svg></div></a><a id="link_button-23-13" class="ct-link-button " href="https://juce.com/get-juce/">Get JUCE</a></div></div></div></header>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1"><defs><symbol id="FontAwesomeicon-user-circle" viewBox="0 0 28 28"><title>user-circle</title><path d="M23.797 20.922c-0.406-2.922-1.594-5.516-4.25-5.875-1.375 1.5-3.359 2.453-5.547 2.453s-4.172-0.953-5.547-2.453c-2.656 0.359-3.844 2.953-4.25 5.875 2.172 3.063 5.75 5.078 9.797 5.078s7.625-2.016 9.797-5.078zM20 10c0-3.313-2.688-6-6-6s-6 2.688-6 6 2.688 6 6 6 6-2.688 6-6zM28 14c0 7.703-6.25 14-14 14-7.734 0-14-6.281-14-14 0-7.734 6.266-14 14-14s14 6.266 14 14z"></path></symbol></defs></svg>
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(document).ready(function() {
|
||||
jQuery('body').on('click', '.oxy-menu-toggle', function() {
|
||||
jQuery(this).parent('.oxy-nav-menu').toggleClass('oxy-nav-menu-open');
|
||||
jQuery('body').toggleClass('oxy-nav-menu-prevent-overflow');
|
||||
jQuery('html').toggleClass('oxy-nav-menu-prevent-overflow');
|
||||
});
|
||||
var selector = '.oxy-nav-menu-open .menu-item a[href*="#"]';
|
||||
jQuery('body').on('click', selector, function(){
|
||||
jQuery('.oxy-nav-menu-open').removeClass('oxy-nav-menu-open');
|
||||
jQuery('body').removeClass('oxy-nav-menu-prevent-overflow');
|
||||
jQuery('html').removeClass('oxy-nav-menu-prevent-overflow');
|
||||
jQuery(this).click();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<!--BEGIN FULL_SIDEBAR-->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!--END FULL_SIDEBAR-->
|
||||
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
|
||||
<!-- end header part -->
|
||||
12
docs/doxygen/index.html
Normal file
12
docs/doxygen/index.html
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<script language=javascript>
|
||||
function redirect(){
|
||||
window.location = "/master/index.html";
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="redirect()">
|
||||
</body>
|
||||
</html>
|
||||
47
docs/doxygen/js/cpp.min.js
vendored
Normal file
47
docs/doxygen/js/cpp.min.js
vendored
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
/*! `cpp` grammar compiled for Highlight.js 11.11.1 */
|
||||
(()=>{var e=(()=>{"use strict";return e=>{const t=e.regex,a=e.COMMENT("//","$",{
|
||||
contains:[{begin:/\\\n/}]
|
||||
}),n="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",i="(?!struct)("+n+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",s={
|
||||
className:"type",begin:"\\b[a-z\\d_]*_t\\b"},c={className:"string",variants:[{
|
||||
begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{
|
||||
begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",
|
||||
end:"'",illegal:"."},e.END_SAME_AS_BEGIN({
|
||||
begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={
|
||||
className:"number",variants:[{
|
||||
begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"
|
||||
},{
|
||||
begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"
|
||||
}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{
|
||||
keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"
|
||||
},contains:[{begin:/\\\n/,relevance:0},e.inherit(c,{className:"string"}),{
|
||||
className:"string",begin:/<.*?>/},a,e.C_BLOCK_COMMENT_MODE]},u={
|
||||
className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0
|
||||
},d=t.optional(r)+e.IDENT_RE+"\\s*\\(",p={
|
||||
type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],
|
||||
keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],
|
||||
literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],
|
||||
_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]
|
||||
},_={className:"function.dispatch",relevance:0,keywords:{
|
||||
_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]
|
||||
},
|
||||
begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))
|
||||
},m=[_,l,s,a,e.C_BLOCK_COMMENT_MODE,o,c],f={variants:[{begin:/=/,end:/;/},{
|
||||
begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],
|
||||
keywords:p,contains:m.concat([{begin:/\(/,end:/\)/,keywords:p,
|
||||
contains:m.concat(["self"]),relevance:0}]),relevance:0},g={className:"function",
|
||||
begin:"("+i+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,
|
||||
keywords:p,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:p,relevance:0},{
|
||||
begin:d,returnBegin:!0,contains:[u],relevance:0},{begin:/::/,relevance:0},{
|
||||
begin:/:/,endsWithParent:!0,contains:[c,o]},{relevance:0,match:/,/},{
|
||||
className:"params",begin:/\(/,end:/\)/,keywords:p,relevance:0,
|
||||
contains:[a,e.C_BLOCK_COMMENT_MODE,c,o,s,{begin:/\(/,end:/\)/,keywords:p,
|
||||
relevance:0,contains:["self",a,e.C_BLOCK_COMMENT_MODE,c,o,s]}]
|
||||
},s,a,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C++",
|
||||
aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:p,illegal:"</",
|
||||
classNameAliases:{"function.dispatch":"built_in"},
|
||||
contains:[].concat(f,g,_,m,[l,{
|
||||
begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",
|
||||
end:">",keywords:p,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:p},{
|
||||
match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],
|
||||
className:{1:"keyword",3:"title.class"}}])}}})();hljs.registerLanguage("cpp",e)
|
||||
})();
|
||||
354
docs/doxygen/js/highlight.min.js
vendored
Normal file
354
docs/doxygen/js/highlight.min.js
vendored
Normal file
|
|
@ -0,0 +1,354 @@
|
|||
/*!
|
||||
Highlight.js v11.11.1 (git: 08cb242e7d)
|
||||
(c) 2006-2025 Josh Goebel <hello@joshgoebel.com> and other contributors
|
||||
License: BSD-3-Clause
|
||||
*/
|
||||
var hljs=function(){"use strict";function e(t){
|
||||
return t instanceof Map?t.clear=t.delete=t.set=()=>{
|
||||
throw Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=()=>{
|
||||
throw Error("set is read-only")
|
||||
}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach((n=>{
|
||||
const i=t[n],s=typeof i;"object"!==s&&"function"!==s||Object.isFrozen(i)||e(i)
|
||||
})),t}class t{constructor(e){
|
||||
void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}
|
||||
ignoreMatch(){this.isMatchIgnored=!0}}function n(e){
|
||||
return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")
|
||||
}function i(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t]
|
||||
;return t.forEach((e=>{for(const t in e)n[t]=e[t]})),n}const s=e=>!!e.scope
|
||||
;class r{constructor(e,t){
|
||||
this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){
|
||||
this.buffer+=n(e)}openNode(e){if(!s(e))return;const t=((e,{prefix:t})=>{
|
||||
if(e.startsWith("language:"))return e.replace("language:","language-")
|
||||
;if(e.includes(".")){const n=e.split(".")
|
||||
;return[`${t}${n.shift()}`,...n.map(((e,t)=>`${e}${"_".repeat(t+1)}`))].join(" ")
|
||||
}return`${t}${e}`})(e.scope,{prefix:this.classPrefix});this.span(t)}
|
||||
closeNode(e){s(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){
|
||||
this.buffer+=`<span class="${e}">`}}const o=(e={})=>{const t={children:[]}
|
||||
;return Object.assign(t,e),t};class a{constructor(){
|
||||
this.rootNode=o(),this.stack=[this.rootNode]}get top(){
|
||||
return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){
|
||||
this.top.children.push(e)}openNode(e){const t=o({scope:e})
|
||||
;this.add(t),this.stack.push(t)}closeNode(){
|
||||
if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){
|
||||
for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}
|
||||
walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){
|
||||
return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),
|
||||
t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){
|
||||
"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{
|
||||
a._collapse(e)})))}}class c extends a{constructor(e){super(),this.options=e}
|
||||
addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){
|
||||
this.closeNode()}__addSublanguage(e,t){const n=e.root
|
||||
;t&&(n.scope="language:"+t),this.add(n)}toHTML(){
|
||||
return new r(this,this.options).value()}finalize(){
|
||||
return this.closeAllNodes(),!0}}function l(e){
|
||||
return e?"string"==typeof e?e:e.source:null}function g(e){return h("(?=",e,")")}
|
||||
function u(e){return h("(?:",e,")*")}function d(e){return h("(?:",e,")?")}
|
||||
function h(...e){return e.map((e=>l(e))).join("")}function f(...e){const t=(e=>{
|
||||
const t=e[e.length-1]
|
||||
;return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}
|
||||
})(e);return"("+(t.capture?"":"?:")+e.map((e=>l(e))).join("|")+")"}
|
||||
function p(e){return RegExp(e.toString()+"|").exec("").length-1}
|
||||
const b=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./
|
||||
;function m(e,{joinWith:t}){let n=0;return e.map((e=>{n+=1;const t=n
|
||||
;let i=l(e),s="";for(;i.length>0;){const e=b.exec(i);if(!e){s+=i;break}
|
||||
s+=i.substring(0,e.index),
|
||||
i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?s+="\\"+(Number(e[1])+t):(s+=e[0],
|
||||
"("===e[0]&&n++)}return s})).map((e=>`(${e})`)).join(t)}
|
||||
const E="[a-zA-Z]\\w*",x="[a-zA-Z_]\\w*",y="\\b\\d+(\\.\\d+)?",_="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",w="\\b(0b[01]+)",O={
|
||||
begin:"\\\\[\\s\\S]",relevance:0},v={scope:"string",begin:"'",end:"'",
|
||||
illegal:"\\n",contains:[O]},k={scope:"string",begin:'"',end:'"',illegal:"\\n",
|
||||
contains:[O]},N=(e,t,n={})=>{const s=i({scope:"comment",begin:e,end:t,
|
||||
contains:[]},n);s.contains.push({scope:"doctag",
|
||||
begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
|
||||
end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0})
|
||||
;const r=f("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/)
|
||||
;return s.contains.push({begin:h(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),s
|
||||
},S=N("//","$"),M=N("/\\*","\\*/"),R=N("#","$");var j=Object.freeze({
|
||||
__proto__:null,APOS_STRING_MODE:v,BACKSLASH_ESCAPE:O,BINARY_NUMBER_MODE:{
|
||||
scope:"number",begin:w,relevance:0},BINARY_NUMBER_RE:w,COMMENT:N,
|
||||
C_BLOCK_COMMENT_MODE:M,C_LINE_COMMENT_MODE:S,C_NUMBER_MODE:{scope:"number",
|
||||
begin:_,relevance:0},C_NUMBER_RE:_,END_SAME_AS_BEGIN:e=>Object.assign(e,{
|
||||
"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{
|
||||
t.data._beginMatch!==e[1]&&t.ignoreMatch()}}),HASH_COMMENT_MODE:R,IDENT_RE:E,
|
||||
MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+x,relevance:0},
|
||||
NUMBER_MODE:{scope:"number",begin:y,relevance:0},NUMBER_RE:y,
|
||||
PHRASAL_WORDS_MODE:{
|
||||
begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/
|
||||
},QUOTE_STRING_MODE:k,REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/,
|
||||
end:/\/[gimuy]*/,contains:[O,{begin:/\[/,end:/\]/,relevance:0,contains:[O]}]},
|
||||
RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",
|
||||
SHEBANG:(e={})=>{const t=/^#![ ]*\//
|
||||
;return e.binary&&(e.begin=h(t,/.*\b/,e.binary,/\b.*/)),i({scope:"meta",begin:t,
|
||||
end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},
|
||||
TITLE_MODE:{scope:"title",begin:E,relevance:0},UNDERSCORE_IDENT_RE:x,
|
||||
UNDERSCORE_TITLE_MODE:{scope:"title",begin:x,relevance:0}});function A(e,t){
|
||||
"."===e.input[e.index-1]&&t.ignoreMatch()}function I(e,t){
|
||||
void 0!==e.className&&(e.scope=e.className,delete e.className)}function T(e,t){
|
||||
t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",
|
||||
e.__beforeBegin=A,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,
|
||||
void 0===e.relevance&&(e.relevance=0))}function L(e,t){
|
||||
Array.isArray(e.illegal)&&(e.illegal=f(...e.illegal))}function B(e,t){
|
||||
if(e.match){
|
||||
if(e.begin||e.end)throw Error("begin & end are not supported with match")
|
||||
;e.begin=e.match,delete e.match}}function P(e,t){
|
||||
void 0===e.relevance&&(e.relevance=1)}const D=(e,t)=>{if(!e.beforeMatch)return
|
||||
;if(e.starts)throw Error("beforeMatch cannot be used with starts")
|
||||
;const n=Object.assign({},e);Object.keys(e).forEach((t=>{delete e[t]
|
||||
})),e.keywords=n.keywords,e.begin=h(n.beforeMatch,g(n.begin)),e.starts={
|
||||
relevance:0,contains:[Object.assign(n,{endsParent:!0})]
|
||||
},e.relevance=0,delete n.beforeMatch
|
||||
},H=["of","and","for","in","not","or","if","then","parent","list","value"]
|
||||
;function C(e,t,n="keyword"){const i=Object.create(null)
|
||||
;return"string"==typeof e?s(n,e.split(" ")):Array.isArray(e)?s(n,e):Object.keys(e).forEach((n=>{
|
||||
Object.assign(i,C(e[n],t,n))})),i;function s(e,n){
|
||||
t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((t=>{const n=t.split("|")
|
||||
;i[n[0]]=[e,$(n[0],n[1])]}))}}function $(e,t){
|
||||
return t?Number(t):(e=>H.includes(e.toLowerCase()))(e)?0:1}const U={},z=e=>{
|
||||
console.error(e)},W=(e,...t)=>{console.log("WARN: "+e,...t)},X=(e,t)=>{
|
||||
U[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),U[`${e}/${t}`]=!0)
|
||||
},G=Error();function K(e,t,{key:n}){let i=0;const s=e[n],r={},o={}
|
||||
;for(let e=1;e<=t.length;e++)o[e+i]=s[e],r[e+i]=!0,i+=p(t[e-1])
|
||||
;e[n]=o,e[n]._emit=r,e[n]._multi=!0}function F(e){(e=>{
|
||||
e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,
|
||||
delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={
|
||||
_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope
|
||||
}),(e=>{if(Array.isArray(e.begin)){
|
||||
if(e.skip||e.excludeBegin||e.returnBegin)throw z("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),
|
||||
G
|
||||
;if("object"!=typeof e.beginScope||null===e.beginScope)throw z("beginScope must be object"),
|
||||
G;K(e,e.begin,{key:"beginScope"}),e.begin=m(e.begin,{joinWith:""})}})(e),(e=>{
|
||||
if(Array.isArray(e.end)){
|
||||
if(e.skip||e.excludeEnd||e.returnEnd)throw z("skip, excludeEnd, returnEnd not compatible with endScope: {}"),
|
||||
G
|
||||
;if("object"!=typeof e.endScope||null===e.endScope)throw z("endScope must be object"),
|
||||
G;K(e,e.end,{key:"endScope"}),e.end=m(e.end,{joinWith:""})}})(e)}function Z(e){
|
||||
function t(t,n){
|
||||
return RegExp(l(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":""))
|
||||
}class n{constructor(){
|
||||
this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}
|
||||
addRule(e,t){
|
||||
t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),
|
||||
this.matchAt+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null)
|
||||
;const e=this.regexes.map((e=>e[1]));this.matcherRe=t(m(e,{joinWith:"|"
|
||||
}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex
|
||||
;const t=this.matcherRe.exec(e);if(!t)return null
|
||||
;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n]
|
||||
;return t.splice(0,n),Object.assign(t,i)}}class s{constructor(){
|
||||
this.rules=[],this.multiRegexes=[],
|
||||
this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){
|
||||
if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n
|
||||
;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))),
|
||||
t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){
|
||||
return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){
|
||||
this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){
|
||||
const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex
|
||||
;let n=t.exec(e)
|
||||
;if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{
|
||||
const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}
|
||||
return n&&(this.regexIndex+=n.position+1,
|
||||
this.regexIndex===this.count&&this.considerAll()),n}}
|
||||
if(e.compilerExtensions||(e.compilerExtensions=[]),
|
||||
e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.")
|
||||
;return e.classNameAliases=i(e.classNameAliases||{}),function n(r,o){const a=r
|
||||
;if(r.isCompiled)return a
|
||||
;[I,B,F,D].forEach((e=>e(r,o))),e.compilerExtensions.forEach((e=>e(r,o))),
|
||||
r.__beforeBegin=null,[T,L,P].forEach((e=>e(r,o))),r.isCompiled=!0;let c=null
|
||||
;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords),
|
||||
c=r.keywords.$pattern,
|
||||
delete r.keywords.$pattern),c=c||/\w+/,r.keywords&&(r.keywords=C(r.keywords,e.case_insensitive)),
|
||||
a.keywordPatternRe=t(c,!0),
|
||||
o&&(r.begin||(r.begin=/\B|\b/),a.beginRe=t(a.begin),r.end||r.endsWithParent||(r.end=/\B|\b/),
|
||||
r.end&&(a.endRe=t(a.end)),
|
||||
a.terminatorEnd=l(a.end)||"",r.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(r.end?"|":"")+o.terminatorEnd)),
|
||||
r.illegal&&(a.illegalRe=t(r.illegal)),
|
||||
r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((t=>i(e,{
|
||||
variants:null},t)))),e.cachedVariants?e.cachedVariants:V(e)?i(e,{
|
||||
starts:e.starts?i(e.starts):null
|
||||
}):Object.isFrozen(e)?i(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{n(e,a)
|
||||
})),r.starts&&n(r.starts,o),a.matcher=(e=>{const t=new s
|
||||
;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"
|
||||
}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"
|
||||
}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t})(a),a}(e)}function V(e){
|
||||
return!!e&&(e.endsWithParent||V(e.starts))}class q extends Error{
|
||||
constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}
|
||||
const J=n,Y=i,Q=Symbol("nomatch"),ee=n=>{
|
||||
const i=Object.create(null),s=Object.create(null),r=[];let o=!0
|
||||
;const a="Could not find the language '{}', did you forget to load/include a language module?",l={
|
||||
disableAutodetect:!0,name:"Plain text",contains:[]};let p={
|
||||
ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,
|
||||
languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",
|
||||
cssSelector:"pre code",languages:null,__emitter:c};function b(e){
|
||||
return p.noHighlightRe.test(e)}function m(e,t,n){let i="",s=""
|
||||
;"object"==typeof t?(i=e,
|
||||
n=t.ignoreIllegals,s=t.language):(X("10.7.0","highlight(lang, code, ...args) has been deprecated."),
|
||||
X("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),
|
||||
s=e,i=t),void 0===n&&(n=!0);const r={code:i,language:s};N("before:highlight",r)
|
||||
;const o=r.result?r.result:E(r.language,r.code,n)
|
||||
;return o.code=r.code,N("after:highlight",o),o}function E(e,n,s,r){
|
||||
const c=Object.create(null);function l(){if(!N.keywords)return void M.addText(R)
|
||||
;let e=0;N.keywordPatternRe.lastIndex=0;let t=N.keywordPatternRe.exec(R),n=""
|
||||
;for(;t;){n+=R.substring(e,t.index)
|
||||
;const s=w.case_insensitive?t[0].toLowerCase():t[0],r=(i=s,N.keywords[i]);if(r){
|
||||
const[e,i]=r
|
||||
;if(M.addText(n),n="",c[s]=(c[s]||0)+1,c[s]<=7&&(j+=i),e.startsWith("_"))n+=t[0];else{
|
||||
const n=w.classNameAliases[e]||e;u(t[0],n)}}else n+=t[0]
|
||||
;e=N.keywordPatternRe.lastIndex,t=N.keywordPatternRe.exec(R)}var i
|
||||
;n+=R.substring(e),M.addText(n)}function g(){null!=N.subLanguage?(()=>{
|
||||
if(""===R)return;let e=null;if("string"==typeof N.subLanguage){
|
||||
if(!i[N.subLanguage])return void M.addText(R)
|
||||
;e=E(N.subLanguage,R,!0,S[N.subLanguage]),S[N.subLanguage]=e._top
|
||||
}else e=x(R,N.subLanguage.length?N.subLanguage:null)
|
||||
;N.relevance>0&&(j+=e.relevance),M.__addSublanguage(e._emitter,e.language)
|
||||
})():l(),R=""}function u(e,t){
|
||||
""!==e&&(M.startScope(t),M.addText(e),M.endScope())}function d(e,t){let n=1
|
||||
;const i=t.length-1;for(;n<=i;){if(!e._emit[n]){n++;continue}
|
||||
const i=w.classNameAliases[e[n]]||e[n],s=t[n];i?u(s,i):(R=s,l(),R=""),n++}}
|
||||
function h(e,t){
|
||||
return e.scope&&"string"==typeof e.scope&&M.openNode(w.classNameAliases[e.scope]||e.scope),
|
||||
e.beginScope&&(e.beginScope._wrap?(u(R,w.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),
|
||||
R=""):e.beginScope._multi&&(d(e.beginScope,t),R="")),N=Object.create(e,{parent:{
|
||||
value:N}}),N}function f(e,n,i){let s=((e,t)=>{const n=e&&e.exec(t)
|
||||
;return n&&0===n.index})(e.endRe,i);if(s){if(e["on:end"]){const i=new t(e)
|
||||
;e["on:end"](n,i),i.isMatchIgnored&&(s=!1)}if(s){
|
||||
for(;e.endsParent&&e.parent;)e=e.parent;return e}}
|
||||
if(e.endsWithParent)return f(e.parent,n,i)}function b(e){
|
||||
return 0===N.matcher.regexIndex?(R+=e[0],1):(T=!0,0)}function m(e){
|
||||
const t=e[0],i=n.substring(e.index),s=f(N,e,i);if(!s)return Q;const r=N
|
||||
;N.endScope&&N.endScope._wrap?(g(),
|
||||
u(t,N.endScope._wrap)):N.endScope&&N.endScope._multi?(g(),
|
||||
d(N.endScope,e)):r.skip?R+=t:(r.returnEnd||r.excludeEnd||(R+=t),
|
||||
g(),r.excludeEnd&&(R=t));do{
|
||||
N.scope&&M.closeNode(),N.skip||N.subLanguage||(j+=N.relevance),N=N.parent
|
||||
}while(N!==s.parent);return s.starts&&h(s.starts,e),r.returnEnd?0:t.length}
|
||||
let y={};function _(i,r){const a=r&&r[0];if(R+=i,null==a)return g(),0
|
||||
;if("begin"===y.type&&"end"===r.type&&y.index===r.index&&""===a){
|
||||
if(R+=n.slice(r.index,r.index+1),!o){const t=Error(`0 width match regex (${e})`)
|
||||
;throw t.languageName=e,t.badRule=y.rule,t}return 1}
|
||||
if(y=r,"begin"===r.type)return(e=>{
|
||||
const n=e[0],i=e.rule,s=new t(i),r=[i.__beforeBegin,i["on:begin"]]
|
||||
;for(const t of r)if(t&&(t(e,s),s.isMatchIgnored))return b(n)
|
||||
;return i.skip?R+=n:(i.excludeBegin&&(R+=n),
|
||||
g(),i.returnBegin||i.excludeBegin||(R=n)),h(i,e),i.returnBegin?0:n.length})(r)
|
||||
;if("illegal"===r.type&&!s){
|
||||
const e=Error('Illegal lexeme "'+a+'" for mode "'+(N.scope||"<unnamed>")+'"')
|
||||
;throw e.mode=N,e}if("end"===r.type){const e=m(r);if(e!==Q)return e}
|
||||
if("illegal"===r.type&&""===a)return R+="\n",1
|
||||
;if(I>1e5&&I>3*r.index)throw Error("potential infinite loop, way more iterations than matches")
|
||||
;return R+=a,a.length}const w=O(e)
|
||||
;if(!w)throw z(a.replace("{}",e)),Error('Unknown language: "'+e+'"')
|
||||
;const v=Z(w);let k="",N=r||v;const S={},M=new p.__emitter(p);(()=>{const e=[]
|
||||
;for(let t=N;t!==w;t=t.parent)t.scope&&e.unshift(t.scope)
|
||||
;e.forEach((e=>M.openNode(e)))})();let R="",j=0,A=0,I=0,T=!1;try{
|
||||
if(w.__emitTokens)w.__emitTokens(n,M);else{for(N.matcher.considerAll();;){
|
||||
I++,T?T=!1:N.matcher.considerAll(),N.matcher.lastIndex=A
|
||||
;const e=N.matcher.exec(n);if(!e)break;const t=_(n.substring(A,e.index),e)
|
||||
;A=e.index+t}_(n.substring(A))}return M.finalize(),k=M.toHTML(),{language:e,
|
||||
value:k,relevance:j,illegal:!1,_emitter:M,_top:N}}catch(t){
|
||||
if(t.message&&t.message.includes("Illegal"))return{language:e,value:J(n),
|
||||
illegal:!0,relevance:0,_illegalBy:{message:t.message,index:A,
|
||||
context:n.slice(A-100,A+100),mode:t.mode,resultSoFar:k},_emitter:M};if(o)return{
|
||||
language:e,value:J(n),illegal:!1,relevance:0,errorRaised:t,_emitter:M,_top:N}
|
||||
;throw t}}function x(e,t){t=t||p.languages||Object.keys(i);const n=(e=>{
|
||||
const t={value:J(e),illegal:!1,relevance:0,_top:l,_emitter:new p.__emitter(p)}
|
||||
;return t._emitter.addText(e),t})(e),s=t.filter(O).filter(k).map((t=>E(t,e,!1)))
|
||||
;s.unshift(n);const r=s.sort(((e,t)=>{
|
||||
if(e.relevance!==t.relevance)return t.relevance-e.relevance
|
||||
;if(e.language&&t.language){if(O(e.language).supersetOf===t.language)return 1
|
||||
;if(O(t.language).supersetOf===e.language)return-1}return 0})),[o,a]=r,c=o
|
||||
;return c.secondBest=a,c}function y(e){let t=null;const n=(e=>{
|
||||
let t=e.className+" ";t+=e.parentNode?e.parentNode.className:""
|
||||
;const n=p.languageDetectRe.exec(t);if(n){const t=O(n[1])
|
||||
;return t||(W(a.replace("{}",n[1])),
|
||||
W("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}
|
||||
return t.split(/\s+/).find((e=>b(e)||O(e)))})(e);if(b(n))return
|
||||
;if(N("before:highlightElement",{el:e,language:n
|
||||
}),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e)
|
||||
;if(e.children.length>0&&(p.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),
|
||||
console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),
|
||||
console.warn("The element with unescaped HTML:"),
|
||||
console.warn(e)),p.throwUnescapedHTML))throw new q("One of your code blocks includes unescaped HTML.",e.innerHTML)
|
||||
;t=e;const i=t.textContent,r=n?m(i,{language:n,ignoreIllegals:!0}):x(i)
|
||||
;e.innerHTML=r.value,e.dataset.highlighted="yes",((e,t,n)=>{const i=t&&s[t]||n
|
||||
;e.classList.add("hljs"),e.classList.add("language-"+i)
|
||||
})(e,n,r.language),e.result={language:r.language,re:r.relevance,
|
||||
relevance:r.relevance},r.secondBest&&(e.secondBest={
|
||||
language:r.secondBest.language,relevance:r.secondBest.relevance
|
||||
}),N("after:highlightElement",{el:e,result:r,text:i})}let _=!1;function w(){
|
||||
if("loading"===document.readyState)return _||window.addEventListener("DOMContentLoaded",(()=>{
|
||||
w()}),!1),void(_=!0);document.querySelectorAll(p.cssSelector).forEach(y)}
|
||||
function O(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}
|
||||
function v(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{
|
||||
s[e.toLowerCase()]=t}))}function k(e){const t=O(e)
|
||||
;return t&&!t.disableAutodetect}function N(e,t){const n=e;r.forEach((e=>{
|
||||
e[n]&&e[n](t)}))}Object.assign(n,{highlight:m,highlightAuto:x,highlightAll:w,
|
||||
highlightElement:y,
|
||||
highlightBlock:e=>(X("10.7.0","highlightBlock will be removed entirely in v12.0"),
|
||||
X("10.7.0","Please use highlightElement now."),y(e)),configure:e=>{p=Y(p,e)},
|
||||
initHighlighting:()=>{
|
||||
w(),X("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},
|
||||
initHighlightingOnLoad:()=>{
|
||||
w(),X("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")
|
||||
},registerLanguage:(e,t)=>{let s=null;try{s=t(n)}catch(t){
|
||||
if(z("Language definition for '{}' could not be registered.".replace("{}",e)),
|
||||
!o)throw t;z(t),s=l}
|
||||
s.name||(s.name=e),i[e]=s,s.rawDefinition=t.bind(null,n),s.aliases&&v(s.aliases,{
|
||||
languageName:e})},unregisterLanguage:e=>{delete i[e]
|
||||
;for(const t of Object.keys(s))s[t]===e&&delete s[t]},
|
||||
listLanguages:()=>Object.keys(i),getLanguage:O,registerAliases:v,
|
||||
autoDetection:k,inherit:Y,addPlugin:e=>{(e=>{
|
||||
e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{
|
||||
e["before:highlightBlock"](Object.assign({block:t.el},t))
|
||||
}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{
|
||||
e["after:highlightBlock"](Object.assign({block:t.el},t))})})(e),r.push(e)},
|
||||
removePlugin:e=>{const t=r.indexOf(e);-1!==t&&r.splice(t,1)}}),n.debugMode=()=>{
|
||||
o=!1},n.safeMode=()=>{o=!0},n.versionString="11.11.1",n.regex={concat:h,
|
||||
lookahead:g,either:f,optional:d,anyNumberOfTimes:u}
|
||||
;for(const t in j)"object"==typeof j[t]&&e(j[t]);return Object.assign(n,j),n
|
||||
},te=ee({});return te.newInstance=()=>ee({}),te}()
|
||||
;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);/*! `cpp` grammar compiled for Highlight.js 11.11.1 */
|
||||
(()=>{var e=(()=>{"use strict";return e=>{const t=e.regex,a=e.COMMENT("//","$",{
|
||||
contains:[{begin:/\\\n/}]
|
||||
}),n="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",i="(?!struct)("+n+"|"+t.optional(r)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",s={
|
||||
className:"type",begin:"\\b[a-z\\d_]*_t\\b"},c={className:"string",variants:[{
|
||||
begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{
|
||||
begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",
|
||||
end:"'",illegal:"."},e.END_SAME_AS_BEGIN({
|
||||
begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={
|
||||
className:"number",variants:[{
|
||||
begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"
|
||||
},{
|
||||
begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"
|
||||
}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{
|
||||
keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"
|
||||
},contains:[{begin:/\\\n/,relevance:0},e.inherit(c,{className:"string"}),{
|
||||
className:"string",begin:/<.*?>/},a,e.C_BLOCK_COMMENT_MODE]},u={
|
||||
className:"title",begin:t.optional(r)+e.IDENT_RE,relevance:0
|
||||
},d=t.optional(r)+e.IDENT_RE+"\\s*\\(",p={
|
||||
type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],
|
||||
keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],
|
||||
literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],
|
||||
_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]
|
||||
},_={className:"function.dispatch",relevance:0,keywords:{
|
||||
_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]
|
||||
},
|
||||
begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))
|
||||
},m=[_,l,s,a,e.C_BLOCK_COMMENT_MODE,o,c],f={variants:[{begin:/=/,end:/;/},{
|
||||
begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],
|
||||
keywords:p,contains:m.concat([{begin:/\(/,end:/\)/,keywords:p,
|
||||
contains:m.concat(["self"]),relevance:0}]),relevance:0},g={className:"function",
|
||||
begin:"("+i+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,
|
||||
keywords:p,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:p,relevance:0},{
|
||||
begin:d,returnBegin:!0,contains:[u],relevance:0},{begin:/::/,relevance:0},{
|
||||
begin:/:/,endsWithParent:!0,contains:[c,o]},{relevance:0,match:/,/},{
|
||||
className:"params",begin:/\(/,end:/\)/,keywords:p,relevance:0,
|
||||
contains:[a,e.C_BLOCK_COMMENT_MODE,c,o,s,{begin:/\(/,end:/\)/,keywords:p,
|
||||
relevance:0,contains:["self",a,e.C_BLOCK_COMMENT_MODE,c,o,s]}]
|
||||
},s,a,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C++",
|
||||
aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:p,illegal:"</",
|
||||
classNameAliases:{"function.dispatch":"built_in"},
|
||||
contains:[].concat(f,g,_,m,[l,{
|
||||
begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",
|
||||
end:">",keywords:p,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:p},{
|
||||
match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],
|
||||
className:{1:"keyword",3:"title.class"}}])}}})();hljs.registerLanguage("cpp",e)
|
||||
})();
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
python process_source_files.py ..\..\modules build
|
||||
doxygen
|
||||
|
|
@ -1,180 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
import shutil
|
||||
import re
|
||||
import argparse
|
||||
|
||||
|
||||
def get_curly_brace_scope_end(string, start_pos):
|
||||
"""Given a string and a starting position of an opening brace, find the
|
||||
position of the closing brace.
|
||||
"""
|
||||
start_pos += 1
|
||||
string_end = len(string)
|
||||
bracket_counter = 1
|
||||
while start_pos < string_end:
|
||||
if string[start_pos] == "{":
|
||||
bracket_counter += 1
|
||||
elif string[start_pos] == "}":
|
||||
bracket_counter -= 1
|
||||
if bracket_counter == 0:
|
||||
return start_pos
|
||||
start_pos += 1
|
||||
return -1
|
||||
|
||||
|
||||
def remove_juce_namespaces(source):
|
||||
"""Return a string of source code with any juce namespaces removed.
|
||||
"""
|
||||
namespace_regex = re.compile(r"\s+namespace\s+juce\s*{")
|
||||
|
||||
match = namespace_regex.search(source)
|
||||
while (match is not None):
|
||||
source = source[:match.start()] + source[match.end():]
|
||||
end = get_curly_brace_scope_end(source, match.start() - 1)
|
||||
if end != -1:
|
||||
source = source[:end] + source[end + 1:]
|
||||
match = namespace_regex.search(source)
|
||||
continue
|
||||
else:
|
||||
raise ValueError("failed to find the end of the "
|
||||
+ match.group(1) + " namespace")
|
||||
return source
|
||||
|
||||
|
||||
def add_doxygen_group(path, group_name):
|
||||
"""Add a Doxygen group to the file at 'path'.
|
||||
|
||||
The addition of juce namespacing code to all of the source files breaks
|
||||
backwards compatibility by changing the doc URLs, so we need to remove
|
||||
the namespaces.
|
||||
"""
|
||||
|
||||
filename = os.path.basename(path)
|
||||
if re.match(r"^juce_.*\.(h|dox)", filename):
|
||||
with open(path, "r") as f:
|
||||
content = f.read()
|
||||
with open(path, "w") as f:
|
||||
f.write("\r\n/** @weakgroup " + group_name + "\r\n * @{\r\n */\r\n")
|
||||
f.write(remove_juce_namespaces(content))
|
||||
f.write("\r\n/** @}*/\r\n")
|
||||
|
||||
|
||||
###############################################################################
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("source_dir",
|
||||
help="the directory to search for source files")
|
||||
parser.add_argument("dest_dir",
|
||||
help="the directory in which to place processed files")
|
||||
parser.add_argument("--subdirs",
|
||||
help="if specified, only include these comma separated"
|
||||
"subdirectories")
|
||||
args = parser.parse_args()
|
||||
|
||||
try:
|
||||
shutil.rmtree(args.dest_dir)
|
||||
except OSError:
|
||||
pass
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
|
||||
# Get the list of JUCE modules to include.
|
||||
if args.subdirs:
|
||||
juce_modules = args.subdirs.split(",")
|
||||
else:
|
||||
juce_modules = []
|
||||
for item in sorted(os.listdir(args.source_dir)):
|
||||
if os.path.isdir(os.path.join(args.source_dir, item)):
|
||||
juce_modules.append(item)
|
||||
|
||||
# Copy the JUCE modules to the temporary directory, and process the source
|
||||
# files.
|
||||
module_definitions = []
|
||||
for module_name in juce_modules:
|
||||
|
||||
# Copy the required modules.
|
||||
original_module_dir = os.path.join(args.source_dir, module_name)
|
||||
module_path = os.path.join(args.dest_dir, module_name)
|
||||
shutil.copytree(original_module_dir, module_path)
|
||||
|
||||
# Parse the module header to get module information.
|
||||
module_header = os.path.join(module_path, module_name + ".h")
|
||||
with open(module_header, "r") as f:
|
||||
content = f.read()
|
||||
block_info_result = re.match(r".*BEGIN_JUCE_MODULE_DECLARATION"
|
||||
"(.*)"
|
||||
"END_JUCE_MODULE_DECLARATION.*",
|
||||
content,
|
||||
re.DOTALL)
|
||||
detail_lines = []
|
||||
for line in block_info_result.group(1).split("\n"):
|
||||
stripped_line = line.strip()
|
||||
if stripped_line:
|
||||
result = re.match(r"^.*?description:\s*(.*)$", stripped_line)
|
||||
if result:
|
||||
short_description = result.group(1)
|
||||
else:
|
||||
detail_lines.append(stripped_line)
|
||||
|
||||
# The module header causes problems for Doxygen, so delete it.
|
||||
os.remove(module_header)
|
||||
|
||||
# Create a Doxygen group definition for the module.
|
||||
module_definiton = []
|
||||
module_definiton.append("/** @defgroup {n} {n}".format(n=module_name))
|
||||
module_definiton.append(" {d}".format(d=short_description))
|
||||
module_definiton.append("")
|
||||
for line in detail_lines:
|
||||
module_definiton.append(" - {l}".format(l=line))
|
||||
module_definiton.append("")
|
||||
module_definiton.append(" @{")
|
||||
module_definiton.append("*/")
|
||||
|
||||
# Create a list of the directories in the module that we can use as
|
||||
# subgroups and create the Doxygen group hierarchy string.
|
||||
dir_contents = sorted(os.listdir(module_path))
|
||||
# Ignore "native" folders as these are excluded by doxygen.
|
||||
try:
|
||||
dir_contents.remove("native")
|
||||
except ValueError:
|
||||
pass
|
||||
subdirs = []
|
||||
for item in dir_contents:
|
||||
if (os.path.isdir(os.path.join(module_path, item))):
|
||||
subdirs.append(item)
|
||||
module_groups = {}
|
||||
for subdir in subdirs:
|
||||
subgroup_name = "{n}-{s}".format(n=module_name, s=subdir)
|
||||
module_groups[subgroup_name] = os.path.join(module_path, subdir)
|
||||
module_definiton.append("")
|
||||
module_definiton.append(
|
||||
"/** @defgroup {tag} {n} */".format(tag=subgroup_name, n=subdir)
|
||||
)
|
||||
module_definiton.append("")
|
||||
module_definiton.append("/** @} */")
|
||||
|
||||
module_definitions.append("\r\n".join(module_definiton))
|
||||
|
||||
# Put the top level files into the main group.
|
||||
for filename in (set(dir_contents) - set(subdirs)):
|
||||
add_doxygen_group(os.path.join(module_path, filename), module_name)
|
||||
|
||||
# Put subdirectory files into their respective groups.
|
||||
for group_name in module_groups:
|
||||
for dirpath, dirnames, filenames in os.walk(module_groups[group_name]):
|
||||
for filename in filenames:
|
||||
filepath = os.path.join(dirpath, filename)
|
||||
add_doxygen_group(filepath, group_name)
|
||||
|
||||
# Create an extra header file containing the module hierarchy.
|
||||
with open(os.path.join(args.dest_dir, "juce_modules.dox"), "w") as f:
|
||||
f.write("\r\n\r\n".join(module_definitions))
|
||||
|
||||
# Copy markdown docs
|
||||
for name in ["JUCE Module Format.md", "CMake API.md"]:
|
||||
shutil.copyfile(os.path.join(args.source_dir, "..", "docs", name),
|
||||
os.path.join(args.dest_dir, name))
|
||||
|
|
@ -36,8 +36,9 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,9 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,9 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
type: Component
|
||||
mainClass: AudioPlaybackDemo
|
||||
|
|
|
|||
|
|
@ -36,8 +36,9 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,9 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,9 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_core,
|
||||
juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_midi_ci
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,9 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -31,13 +31,16 @@
|
|||
version: 1.0.0
|
||||
vendor: JUCE
|
||||
website: http://juce.com
|
||||
description: Handles incoming and outcoming midi messages.
|
||||
description: Handles incoming and outcoming midi messages in
|
||||
MIDI 1.0 bytestream format. For an example of handling MIDI 2.0
|
||||
messages in Universal Midi Packet format, see the UMPDemo.
|
||||
|
||||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
@ -52,6 +55,12 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
// This demo shows how to use the MidiInput and MidiOutput types to send and receive
|
||||
// messages using the traditional bytestream format.
|
||||
// New programs should prefer to use the newer Universal Midi Packet format whenever
|
||||
// possible.
|
||||
// For an example showing how UMP messages can be sent and received, see the UMPDemo,
|
||||
// as well as the ump::Session, ump::Input, and ump::Output types.
|
||||
|
||||
//==============================================================================
|
||||
struct MidiDeviceListEntry final : ReferenceCountedObject
|
||||
|
|
@ -79,7 +88,8 @@ struct MidiDeviceListEntry final : ReferenceCountedObject
|
|||
class MidiDemo final : public Component,
|
||||
private MidiKeyboardState::Listener,
|
||||
private MidiInputCallback,
|
||||
private AsyncUpdater
|
||||
private AsyncUpdater,
|
||||
private ump::EndpointsListener
|
||||
{
|
||||
public:
|
||||
//==============================================================================
|
||||
|
|
@ -126,10 +136,16 @@ public:
|
|||
setSize (732, 520);
|
||||
|
||||
updateDeviceLists();
|
||||
updateVirtualPorts();
|
||||
|
||||
ump::Endpoints::getInstance()->setVirtualMidiBytestreamServiceActive (true);
|
||||
ump::Endpoints::getInstance()->addListener (*this);
|
||||
}
|
||||
|
||||
~MidiDemo() override
|
||||
{
|
||||
ump::Endpoints::getInstance()->removeListener (*this);
|
||||
|
||||
midiInputs .clear();
|
||||
midiOutputs.clear();
|
||||
keyboardState.removeListener (this);
|
||||
|
|
@ -362,6 +378,9 @@ private:
|
|||
for (auto midiOutput : midiOutputs)
|
||||
if (midiOutput->outDevice != nullptr)
|
||||
midiOutput->outDevice->sendMessageNow (msg);
|
||||
|
||||
if (auto* o = virtualOut.get())
|
||||
o->sendMessageNow (msg);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -464,6 +483,34 @@ private:
|
|||
updateDeviceList (isInput);
|
||||
}
|
||||
|
||||
void endpointsChanged() override
|
||||
{
|
||||
updateDeviceLists();
|
||||
}
|
||||
|
||||
void virtualMidiServiceActiveChanged() override
|
||||
{
|
||||
if (ump::Endpoints::getInstance()->isVirtualMidiBytestreamServiceActive())
|
||||
{
|
||||
if (virtualIn == nullptr || virtualOut == nullptr)
|
||||
updateVirtualPorts();
|
||||
}
|
||||
else
|
||||
{
|
||||
virtualIn = nullptr;
|
||||
virtualOut = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void updateVirtualPorts()
|
||||
{
|
||||
virtualIn = MidiInput::createNewDevice ("MidiDemo Virtual In", this);
|
||||
virtualOut = MidiOutput::createNewDevice ("MidiDemo Virtual Out");
|
||||
|
||||
if (virtualIn != nullptr)
|
||||
virtualIn->start();
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
Label midiInputLabel { "Midi Input Label", "MIDI Input:" };
|
||||
Label midiOutputLabel { "Midi Output Label", "MIDI Output:" };
|
||||
|
|
@ -480,10 +527,8 @@ private:
|
|||
CriticalSection midiMonitorLock;
|
||||
Array<MidiMessage> incomingMessages;
|
||||
|
||||
MidiDeviceListConnection connection = MidiDeviceListConnection::make ([this]
|
||||
{
|
||||
updateDeviceLists();
|
||||
});
|
||||
std::unique_ptr<MidiInput> virtualIn;
|
||||
std::unique_ptr<MidiOutput> virtualOut;
|
||||
|
||||
//==============================================================================
|
||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MidiDemo)
|
||||
|
|
|
|||
|
|
@ -36,8 +36,9 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,9 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_dsp, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
1287
examples/Audio/UmpDemo.h
Normal file
1287
examples/Audio/UmpDemo.h
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -36,8 +36,8 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_dsp, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_dsp, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_dsp, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_dsp, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_dsp, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_dsp, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_dsp, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_dsp, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_dsp, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -93,7 +93,8 @@ android {
|
|||
main.java.srcDirs +=
|
||||
["../../../../../modules/juce_core/native/javacore/init",
|
||||
"../../../../../modules/juce_core/native/javacore/app",
|
||||
"../../../../../modules/juce_gui_basics/native/javaopt/app"]
|
||||
"../../../../../modules/juce_gui_basics/native/javaopt/app",
|
||||
"../../../../../modules/juce_audio_devices/native/javaopt/app"]
|
||||
|
||||
main.res.srcDirs +=
|
||||
[]
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="8.0.10">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="8.0.11">
|
||||
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"
|
||||
android:xlargeScreens="true"/>
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
||||
|
|
@ -30,6 +30,20 @@
|
|||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<service android:name="com.rmsl.juce.VirtualMidiServices$VirtualUmpService" android:enabled="false" android:exported="true"
|
||||
android:permission="android.permission.BIND_MIDI_DEVICE_SERVICE">
|
||||
<intent-filter>
|
||||
<action android:name="android.media.midi.MidiUmpDeviceService"/>
|
||||
</intent-filter>
|
||||
<property android:name="android.media.midi.MidiUmpDeviceService" android:resource="@xml/juce_midi_virtual_ump"/>
|
||||
</service>
|
||||
<service android:name="com.rmsl.juce.VirtualMidiServices$VirtualBytestreamService" android:enabled="false" android:exported="true"
|
||||
android:permission="android.permission.BIND_MIDI_DEVICE_SERVICE">
|
||||
<intent-filter>
|
||||
<action android:name="android.media.midi.MidiDeviceService"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.media.midi.MidiDeviceService" android:resource="@xml/juce_midi_virtual_bytestream"/>
|
||||
</service>
|
||||
<provider android:name="com.rmsl.juce.JuceSharingContentProvider" android:authorities="com.rmsl.jucedemorunner.sharingcontentprovider"
|
||||
android:grantUriPermissions="true" android:exported="true"/>
|
||||
</application>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<devices>
|
||||
<device manufacturer="Raw Material Software Limited" product="DemoRunner" name="Raw Material Software Limited DemoRunner">
|
||||
<input-port name="In"/>
|
||||
<output-port name="Out"/>
|
||||
</device>
|
||||
</devices>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<devices>
|
||||
<device manufacturer="Raw Material Software Limited" product="DemoRunner" name="Raw Material Software Limited DemoRunner">
|
||||
<port name="MIDI 2.0"/>
|
||||
</device>
|
||||
</devices>
|
||||
|
|
@ -39,7 +39,7 @@ ifeq ($(CONFIG),Debug)
|
|||
TARGET_ARCH :=
|
||||
endif
|
||||
|
||||
JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_PROJUCER_VERSION=0x8000a" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_animation=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_box2d=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_javascript=1" "-DJUCE_MODULE_AVAILABLE_juce_midi_ci=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_USE_MP3AUDIOFORMAT=1" "-DJUCE_PLUGINHOST_VST3=1" "-DJUCE_PLUGINHOST_AU=1" "-DJUCE_PLUGINHOST_LV2=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_USE_CAMERA=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCE_PUSH_NOTIFICATIONS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=8.0.10" "-DJUCE_APP_VERSION_HEX=0x8000a" $(shell $(PKG_CONFIG) --cflags $(shell ($(PKG_CONFIG) --exists webkit2gtk-4.1 && echo webkit2gtk-4.1) || echo webkit2gtk-4.0) alsa freetype2 fontconfig gl libcurl gtk+-x11-3.0) -pthread -I../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv/src -I../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv -I../../../../modules/juce_audio_processors/format_types/LV2_SDK/sratom -I../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord/src -I../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord -I../../../../modules/juce_audio_processors/format_types/LV2_SDK/serd -I../../../../modules/juce_audio_processors/format_types/LV2_SDK/lv2 -I../../../../modules/juce_audio_processors/format_types/LV2_SDK -I../../../../modules/juce_audio_processors/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
|
||||
JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_PROJUCER_VERSION=0x8000b" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_animation=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors_headless=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_box2d=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_javascript=1" "-DJUCE_MODULE_AVAILABLE_juce_midi_ci=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_USE_MP3AUDIOFORMAT=1" "-DJUCE_PLUGINHOST_VST3=1" "-DJUCE_PLUGINHOST_AU=1" "-DJUCE_PLUGINHOST_LV2=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_USE_CAMERA=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCE_PUSH_NOTIFICATIONS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=8.0.11" "-DJUCE_APP_VERSION_HEX=0x8000b" $(shell $(PKG_CONFIG) --cflags $(shell ($(PKG_CONFIG) --exists webkit2gtk-4.1 && echo webkit2gtk-4.1) || echo webkit2gtk-4.0) alsa freetype2 fontconfig gl libcurl gtk+-x11-3.0) -pthread -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv/src -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sratom -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord/src -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/serd -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lv2 -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK -I../../../../modules/juce_audio_processors_headless/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
|
||||
JUCE_CPPFLAGS_APP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" "-DJucePlugin_Build_LV2=0"
|
||||
JUCE_TARGET_APP := DemoRunner
|
||||
|
||||
|
|
@ -60,7 +60,7 @@ ifeq ($(CONFIG),Release)
|
|||
TARGET_ARCH :=
|
||||
endif
|
||||
|
||||
JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_PROJUCER_VERSION=0x8000a" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_animation=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_box2d=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_javascript=1" "-DJUCE_MODULE_AVAILABLE_juce_midi_ci=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_USE_MP3AUDIOFORMAT=1" "-DJUCE_PLUGINHOST_VST3=1" "-DJUCE_PLUGINHOST_AU=1" "-DJUCE_PLUGINHOST_LV2=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_USE_CAMERA=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCE_PUSH_NOTIFICATIONS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=8.0.10" "-DJUCE_APP_VERSION_HEX=0x8000a" $(shell $(PKG_CONFIG) --cflags $(shell ($(PKG_CONFIG) --exists webkit2gtk-4.1 && echo webkit2gtk-4.1) || echo webkit2gtk-4.0) alsa freetype2 fontconfig gl libcurl gtk+-x11-3.0) -pthread -I../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv/src -I../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv -I../../../../modules/juce_audio_processors/format_types/LV2_SDK/sratom -I../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord/src -I../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord -I../../../../modules/juce_audio_processors/format_types/LV2_SDK/serd -I../../../../modules/juce_audio_processors/format_types/LV2_SDK/lv2 -I../../../../modules/juce_audio_processors/format_types/LV2_SDK -I../../../../modules/juce_audio_processors/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
|
||||
JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_PROJUCER_VERSION=0x8000b" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_animation=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors_headless=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_box2d=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_javascript=1" "-DJUCE_MODULE_AVAILABLE_juce_midi_ci=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_USE_MP3AUDIOFORMAT=1" "-DJUCE_PLUGINHOST_VST3=1" "-DJUCE_PLUGINHOST_AU=1" "-DJUCE_PLUGINHOST_LV2=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_USE_CAMERA=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCE_PUSH_NOTIFICATIONS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=8.0.11" "-DJUCE_APP_VERSION_HEX=0x8000b" $(shell $(PKG_CONFIG) --cflags $(shell ($(PKG_CONFIG) --exists webkit2gtk-4.1 && echo webkit2gtk-4.1) || echo webkit2gtk-4.0) alsa freetype2 fontconfig gl libcurl gtk+-x11-3.0) -pthread -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv/src -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sratom -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord/src -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/serd -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lv2 -I../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK -I../../../../modules/juce_audio_processors_headless/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS)
|
||||
JUCE_CPPFLAGS_APP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" "-DJucePlugin_Build_LV2=0"
|
||||
JUCE_TARGET_APP := DemoRunner
|
||||
|
||||
|
|
@ -84,8 +84,9 @@ OBJECTS_APP := \
|
|||
$(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o \
|
||||
$(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o \
|
||||
$(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o \
|
||||
$(JUCE_OBJDIR)/include_juce_audio_processors_ara_2a4c6ef7.o \
|
||||
$(JUCE_OBJDIR)/include_juce_audio_processors_lv2_libs_12bdca08.o \
|
||||
$(JUCE_OBJDIR)/include_juce_audio_processors_headless_1902bafc.o \
|
||||
$(JUCE_OBJDIR)/include_juce_audio_processors_headless_ara_8deeb88d.o \
|
||||
$(JUCE_OBJDIR)/include_juce_audio_processors_headless_lv2_libs_36180e32.o \
|
||||
$(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o \
|
||||
$(JUCE_OBJDIR)/include_juce_box2d_b0305d8b.o \
|
||||
$(JUCE_OBJDIR)/include_juce_core_f26d17db.o \
|
||||
|
|
@ -179,14 +180,19 @@ $(JUCE_OBJDIR)/include_juce_audio_processors_10c03666.o: ../../JuceLibraryCode/i
|
|||
@echo "Compiling include_juce_audio_processors.cpp"
|
||||
$(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<"
|
||||
|
||||
$(JUCE_OBJDIR)/include_juce_audio_processors_ara_2a4c6ef7.o: ../../JuceLibraryCode/include_juce_audio_processors_ara.cpp
|
||||
$(JUCE_OBJDIR)/include_juce_audio_processors_headless_1902bafc.o: ../../JuceLibraryCode/include_juce_audio_processors_headless.cpp
|
||||
-$(V_AT)mkdir -p $(@D)
|
||||
@echo "Compiling include_juce_audio_processors_ara.cpp"
|
||||
@echo "Compiling include_juce_audio_processors_headless.cpp"
|
||||
$(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<"
|
||||
|
||||
$(JUCE_OBJDIR)/include_juce_audio_processors_lv2_libs_12bdca08.o: ../../JuceLibraryCode/include_juce_audio_processors_lv2_libs.cpp
|
||||
$(JUCE_OBJDIR)/include_juce_audio_processors_headless_ara_8deeb88d.o: ../../JuceLibraryCode/include_juce_audio_processors_headless_ara.cpp
|
||||
-$(V_AT)mkdir -p $(@D)
|
||||
@echo "Compiling include_juce_audio_processors_lv2_libs.cpp"
|
||||
@echo "Compiling include_juce_audio_processors_headless_ara.cpp"
|
||||
$(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<"
|
||||
|
||||
$(JUCE_OBJDIR)/include_juce_audio_processors_headless_lv2_libs_36180e32.o: ../../JuceLibraryCode/include_juce_audio_processors_headless_lv2_libs.cpp
|
||||
-$(V_AT)mkdir -p $(@D)
|
||||
@echo "Compiling include_juce_audio_processors_headless_lv2_libs.cpp"
|
||||
$(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<"
|
||||
|
||||
$(JUCE_OBJDIR)/include_juce_audio_utils_9f9fb2d6.o: ../../JuceLibraryCode/include_juce_audio_utils.cpp
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
0140787C0118A95E37DE90B4 /* include_juce_video.mm */ = {isa = PBXBuildFile; fileRef = 9144821E003E15E4042B57DB; };
|
||||
028383D0577D0236899D8CA5 /* OpenGL.framework */ = {isa = PBXBuildFile; fileRef = 40BD06D4AB0D2C73E936A2F1; };
|
||||
05E2CC77AE99E8A2E3A18777 /* Security.framework */ = {isa = PBXBuildFile; fileRef = 87D5F938A115568F9CF3BE5A; };
|
||||
10AD3C29E85B94A6351A0642 /* include_juce_audio_processors_headless.mm */ = {isa = PBXBuildFile; fileRef = 24B51D2BB8CEA0413BA4BD6C; };
|
||||
10D769051F1431A67AD2CB40 /* MetalKit.framework */ = {isa = PBXBuildFile; fileRef = 2992DB69DCFB7DADDE907385; settings = { ATTRIBUTES = (Weak, ); }; };
|
||||
11D7AB57EC28DB48A066F7AD /* include_juce_graphics_Harfbuzz.cpp */ = {isa = PBXBuildFile; fileRef = 483C3A8B4FB98B54BB42CB50; };
|
||||
1351A13E78F38741C6075600 /* CoreAudio.framework */ = {isa = PBXBuildFile; fileRef = 4F0A137A4115946A346180E6; };
|
||||
|
|
@ -32,10 +33,8 @@
|
|||
5C1957CE874953FB83DCDACB /* AudioUnit.framework */ = {isa = PBXBuildFile; fileRef = 4A8625BBDD6C3BA8052CCA53; };
|
||||
5CB78489F16E82144914972D /* include_juce_gui_extra.mm */ = {isa = PBXBuildFile; fileRef = 979F23EA9E5E76131299E886; };
|
||||
5E4310B3F6BB639875D3E9B8 /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = 49ECA8B998B339A083674A22; };
|
||||
5EB6872A39122A5AB67E544E /* include_juce_audio_processors_ara.cpp */ = {isa = PBXBuildFile; fileRef = 8D44097417573B38729A0179; };
|
||||
611298FAC1A543BDD10D4C41 /* include_juce_box2d.cpp */ = {isa = PBXBuildFile; fileRef = 4DF215D350FFE5E119CBA7E5; };
|
||||
63A2F309E55DAC206E9B97E3 /* App */ = {isa = PBXBuildFile; fileRef = CFF2BBEB242CC8B3B904B5F9; };
|
||||
67D7E529C3713ED79F5F3AA9 /* include_juce_audio_processors_lv2_libs.cpp */ = {isa = PBXBuildFile; fileRef = 5BD7D121AD30987C08BE10E8; };
|
||||
6A61CBB4E39BFD392D97528F /* CoreMIDI.framework */ = {isa = PBXBuildFile; fileRef = 61AE09C749B007B70A265D9B; };
|
||||
6B5560283DEEBD6DD2D6C984 /* include_juce_dsp.mm */ = {isa = PBXBuildFile; fileRef = C1E93FAF6C68A40A664422CD; };
|
||||
712D81867EC698463252FA79 /* include_juce_audio_utils.mm */ = {isa = PBXBuildFile; fileRef = EDDA01B246C6128CAF7A2914; };
|
||||
|
|
@ -66,6 +65,8 @@
|
|||
EFD00925ED57B2C5EB5412FC /* Metal.framework */ = {isa = PBXBuildFile; fileRef = 3644EF58D9EB1AB436A04E77; settings = { ATTRIBUTES = (Weak, ); }; };
|
||||
F28112945CEBEA4CE8975833 /* include_juce_audio_basics.mm */ = {isa = PBXBuildFile; fileRef = 03B0F9318FD583525AB195A9; };
|
||||
F619F3887CEC064441BB6EE6 /* Main.cpp */ = {isa = PBXBuildFile; fileRef = 260481E972425474BB8155B0; };
|
||||
FBC9BE065D0BACDAEDE81A89 /* include_juce_audio_processors_headless_ara.cpp */ = {isa = PBXBuildFile; fileRef = 04B7D675DEA0F154DEA68589; };
|
||||
FD151A328CDBDA9C683C2C83 /* include_juce_audio_processors_headless_lv2_libs.cpp */ = {isa = PBXBuildFile; fileRef = 877340409339CA0F561FB566; };
|
||||
FF87532E62753EDFA3D29CAD /* include_juce_cryptography.mm */ = {isa = PBXBuildFile; fileRef = 6C5E26B4D28F8450435B8AE1; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
|
|
@ -73,6 +74,7 @@
|
|||
02A2ED58B066B4D119F67913 /* Cocoa.framework */ /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
|
||||
03A63C3CA6F24977F19C316D /* include_juce_audio_devices.mm */ /* include_juce_audio_devices.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_devices.mm; path = ../../JuceLibraryCode/include_juce_audio_devices.mm; sourceTree = SOURCE_ROOT; };
|
||||
03B0F9318FD583525AB195A9 /* include_juce_audio_basics.mm */ /* include_juce_audio_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_basics.mm; path = ../../JuceLibraryCode/include_juce_audio_basics.mm; sourceTree = SOURCE_ROOT; };
|
||||
04B7D675DEA0F154DEA68589 /* include_juce_audio_processors_headless_ara.cpp */ /* include_juce_audio_processors_headless_ara.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_audio_processors_headless_ara.cpp; path = ../../JuceLibraryCode/include_juce_audio_processors_headless_ara.cpp; sourceTree = SOURCE_ROOT; };
|
||||
061AECBF1CC7056F4155812D /* DemoPIPs2.cpp */ /* DemoPIPs2.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DemoPIPs2.cpp; path = ../../Source/Demos/DemoPIPs2.cpp; sourceTree = SOURCE_ROOT; };
|
||||
0AB68DBAB6B7DAEDDDD5B683 /* include_juce_product_unlocking.mm */ /* include_juce_product_unlocking.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_product_unlocking.mm; path = ../../JuceLibraryCode/include_juce_product_unlocking.mm; sourceTree = SOURCE_ROOT; };
|
||||
0B36C013D9790568B481634C /* juce_audio_utils */ /* juce_audio_utils */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_utils; path = ../../../../modules/juce_audio_utils; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -82,6 +84,7 @@
|
|||
1CFE3935A3B810D5D68A2504 /* CoreMedia.framework */ /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
|
||||
1FCD2145DE3FCFCF4F55A8AD /* DemoContentComponent.h */ /* DemoContentComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DemoContentComponent.h; path = ../../Source/UI/DemoContentComponent.h; sourceTree = SOURCE_ROOT; };
|
||||
23CD1A3F9067C3A0ECE7BB67 /* QuartzCore.framework */ /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||
24B51D2BB8CEA0413BA4BD6C /* include_juce_audio_processors_headless.mm */ /* include_juce_audio_processors_headless.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_processors_headless.mm; path = ../../JuceLibraryCode/include_juce_audio_processors_headless.mm; sourceTree = SOURCE_ROOT; };
|
||||
25E5ED33876A2C752378C859 /* MainComponent.cpp */ /* MainComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/UI/MainComponent.cpp; sourceTree = SOURCE_ROOT; };
|
||||
260481E972425474BB8155B0 /* Main.cpp */ /* Main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = SOURCE_ROOT; };
|
||||
2992DB69DCFB7DADDE907385 /* MetalKit.framework */ /* MetalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalKit.framework; path = System/Library/Frameworks/MetalKit.framework; sourceTree = SDKROOT; };
|
||||
|
|
@ -106,7 +109,6 @@
|
|||
4FE6029FF76BCE9698595DC5 /* juce_product_unlocking */ /* juce_product_unlocking */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_product_unlocking; path = ../../../../modules/juce_product_unlocking; sourceTree = SOURCE_ROOT; };
|
||||
5965349393850F41DF76F350 /* include_juce_analytics.cpp */ /* include_juce_analytics.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_analytics.cpp; path = ../../JuceLibraryCode/include_juce_analytics.cpp; sourceTree = SOURCE_ROOT; };
|
||||
5A9F2000C66D24E8B01BE60B /* juce_gui_basics */ /* juce_gui_basics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_gui_basics; path = ../../../../modules/juce_gui_basics; sourceTree = SOURCE_ROOT; };
|
||||
5BD7D121AD30987C08BE10E8 /* include_juce_audio_processors_lv2_libs.cpp */ /* include_juce_audio_processors_lv2_libs.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_audio_processors_lv2_libs.cpp; path = ../../JuceLibraryCode/include_juce_audio_processors_lv2_libs.cpp; sourceTree = SOURCE_ROOT; };
|
||||
5CD17151385A69F1E07FE85B /* DSP */ /* DSP */ = {isa = PBXFileReference; lastKnownFileType = folder; name = DSP; path = ../../../DSP; sourceTree = "<group>"; };
|
||||
60F2869DC345EAF2314D6C09 /* juce_audio_devices */ /* juce_audio_devices */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_devices; path = ../../../../modules/juce_audio_devices; sourceTree = SOURCE_ROOT; };
|
||||
61AE09C749B007B70A265D9B /* CoreMIDI.framework */ /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
|
||||
|
|
@ -121,9 +123,9 @@
|
|||
7A5AAE9EE573FC6105CC4AAC /* SettingsContent.h */ /* SettingsContent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SettingsContent.h; path = ../../Source/UI/SettingsContent.h; sourceTree = SOURCE_ROOT; };
|
||||
7B3243C92248D379A0489AA4 /* Utilities */ /* Utilities */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Utilities; path = ../../../Utilities; sourceTree = "<group>"; };
|
||||
8447FC9882D85E6DAF0A4852 /* juce_animation */ /* juce_animation */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_animation; path = ../../../../modules/juce_animation; sourceTree = SOURCE_ROOT; };
|
||||
877340409339CA0F561FB566 /* include_juce_audio_processors_headless_lv2_libs.cpp */ /* include_juce_audio_processors_headless_lv2_libs.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_audio_processors_headless_lv2_libs.cpp; path = ../../JuceLibraryCode/include_juce_audio_processors_headless_lv2_libs.cpp; sourceTree = SOURCE_ROOT; };
|
||||
87D5F938A115568F9CF3BE5A /* Security.framework */ /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
|
||||
8CE533D611CD0984AD028D73 /* juce_graphics */ /* juce_graphics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_graphics; path = ../../../../modules/juce_graphics; sourceTree = SOURCE_ROOT; };
|
||||
8D44097417573B38729A0179 /* include_juce_audio_processors_ara.cpp */ /* include_juce_audio_processors_ara.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_audio_processors_ara.cpp; path = ../../JuceLibraryCode/include_juce_audio_processors_ara.cpp; sourceTree = SOURCE_ROOT; };
|
||||
903CD4126C779884797EF915 /* juce_core */ /* juce_core */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_core; path = ../../../../modules/juce_core; sourceTree = SOURCE_ROOT; };
|
||||
9144821E003E15E4042B57DB /* include_juce_video.mm */ /* include_juce_video.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_video.mm; path = ../../JuceLibraryCode/include_juce_video.mm; sourceTree = SOURCE_ROOT; };
|
||||
934ACDCB3FD9D223A3481D8F /* JUCEDemos.cpp */ /* JUCEDemos.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JUCEDemos.cpp; path = ../../Source/Demos/JUCEDemos.cpp; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -156,6 +158,7 @@
|
|||
ECE79F1433E92BB6213C86F5 /* JUCEAppIcon.png */ /* JUCEAppIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = JUCEAppIcon.png; path = ../../Source/JUCEAppIcon.png; sourceTree = SOURCE_ROOT; };
|
||||
EDDA01B246C6128CAF7A2914 /* include_juce_audio_utils.mm */ /* include_juce_audio_utils.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_utils.mm; path = ../../JuceLibraryCode/include_juce_audio_utils.mm; sourceTree = SOURCE_ROOT; };
|
||||
EE6BDC78B539D27E65E92265 /* JUCEDemos.h */ /* JUCEDemos.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JUCEDemos.h; path = ../../Source/Demos/JUCEDemos.h; sourceTree = SOURCE_ROOT; };
|
||||
EF4A20C2FE8F347C1AFF5871 /* juce_audio_processors_headless */ /* juce_audio_processors_headless */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_processors_headless; path = ../../../../modules/juce_audio_processors_headless; sourceTree = SOURCE_ROOT; };
|
||||
F5F2EA2238973488632FC322 /* include_juce_data_structures.mm */ /* include_juce_data_structures.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_data_structures.mm; path = ../../JuceLibraryCode/include_juce_data_structures.mm; sourceTree = SOURCE_ROOT; };
|
||||
FB1FC613CE260140F1CFD21B /* juce_events */ /* juce_events */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_events; path = ../../../../modules/juce_events; sourceTree = SOURCE_ROOT; };
|
||||
FCD0D758C5767944BEC29730 /* include_juce_events.mm */ /* include_juce_events.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_events.mm; path = ../../JuceLibraryCode/include_juce_events.mm; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -227,6 +230,7 @@
|
|||
60F2869DC345EAF2314D6C09,
|
||||
491641F7632BCC81BBA0ED85,
|
||||
346450C70C964FD9640B6086,
|
||||
EF4A20C2FE8F347C1AFF5871,
|
||||
0B36C013D9790568B481634C,
|
||||
6C2C1AC86623F457427965EF,
|
||||
903CD4126C779884797EF915,
|
||||
|
|
@ -256,8 +260,9 @@
|
|||
03A63C3CA6F24977F19C316D,
|
||||
E061A1C75FA5722167FC4997,
|
||||
E67AB94002886AF67437D6AE,
|
||||
8D44097417573B38729A0179,
|
||||
5BD7D121AD30987C08BE10E8,
|
||||
24B51D2BB8CEA0413BA4BD6C,
|
||||
04B7D675DEA0F154DEA68589,
|
||||
877340409339CA0F561FB566,
|
||||
EDDA01B246C6128CAF7A2914,
|
||||
4DF215D350FFE5E119CBA7E5,
|
||||
3BC9753E0CD75A36DC742EE0,
|
||||
|
|
@ -465,8 +470,9 @@
|
|||
9EACEA6BE8D0ACC72C12C080,
|
||||
26652AB1BB77C8A39434775F,
|
||||
2707968B431D83AC7E28E49B,
|
||||
5EB6872A39122A5AB67E544E,
|
||||
67D7E529C3713ED79F5F3AA9,
|
||||
10AD3C29E85B94A6351A0642,
|
||||
FBC9BE065D0BACDAEDE81A89,
|
||||
FD151A328CDBDA9C683C2C83,
|
||||
712D81867EC698463252FA79,
|
||||
611298FAC1A543BDD10D4C41,
|
||||
D183F8140174ACCDDCD230A2,
|
||||
|
|
@ -555,13 +561,14 @@
|
|||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"_NDEBUG=1",
|
||||
"NDEBUG=1",
|
||||
"JUCE_PROJUCER_VERSION=0x8000a",
|
||||
"JUCE_PROJUCER_VERSION=0x8000b",
|
||||
"JUCE_MODULE_AVAILABLE_juce_analytics=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_animation=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_processors=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_processors_headless=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_utils=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_box2d=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_core=1",
|
||||
|
|
@ -592,8 +599,8 @@
|
|||
"JUCE_PUSH_NOTIFICATIONS=1",
|
||||
"JUCE_SILENCE_XCODE_15_LINKER_WARNING=1",
|
||||
"JUCER_XCODE_MAC_F6D2F4CF=1",
|
||||
"JUCE_APP_VERSION=8.0.10",
|
||||
"JUCE_APP_VERSION_HEX=0x8000a",
|
||||
"JUCE_APP_VERSION=8.0.11",
|
||||
"JUCE_APP_VERSION_HEX=0x8000b",
|
||||
"JucePlugin_Build_VST=0",
|
||||
"JucePlugin_Build_VST3=0",
|
||||
"JucePlugin_Build_AU=0",
|
||||
|
|
@ -605,15 +612,15 @@
|
|||
);
|
||||
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sratom",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/serd",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lv2",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/VST3_SDK",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sratom",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/serd",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lv2",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/VST3_SDK",
|
||||
"$(SRCROOT)/../../JuceLibraryCode",
|
||||
"$(SRCROOT)/../../../../modules",
|
||||
"$(inherited)",
|
||||
|
|
@ -623,7 +630,7 @@
|
|||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
LLVM_LTO = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||
MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv/src $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sratom $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord/src $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/serd $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lv2 $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/VST3_SDK $(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
|
||||
MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv/src $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sratom $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord/src $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/serd $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lv2 $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/VST3_SDK $(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
|
||||
OTHER_CFLAGS = "-Wall -Wcast-align -Wfloat-equal -Wno-ignored-qualifiers -Wsign-compare -Wsign-conversion -Wstrict-aliasing -Wswitch-enum -Wuninitialized -Wunreachable-code -Wunused-parameter -Wmissing-field-initializers -Wshadow-all -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wmissing-prototypes -Wnullable-to-nonnull-conversion -Wpedantic -Wdeprecated -Wunguarded-availability -Wunguarded-availability-new";
|
||||
OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wcast-align -Wfloat-equal -Wno-ignored-qualifiers -Wsign-compare -Wsign-conversion -Wstrict-aliasing -Wswitch-enum -Wuninitialized -Wunreachable-code -Wunused-parameter -Wmissing-field-initializers -Wshadow-all -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wmissing-prototypes -Wnullable-to-nonnull-conversion -Wpedantic -Wdeprecated -Wunguarded-availability -Wunguarded-availability-new";
|
||||
OTHER_LDFLAGS = "-Wl,-weak_reference_mismatches,weak";
|
||||
|
|
@ -650,13 +657,14 @@
|
|||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"_DEBUG=1",
|
||||
"DEBUG=1",
|
||||
"JUCE_PROJUCER_VERSION=0x8000a",
|
||||
"JUCE_PROJUCER_VERSION=0x8000b",
|
||||
"JUCE_MODULE_AVAILABLE_juce_analytics=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_animation=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_processors=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_processors_headless=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_utils=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_box2d=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_core=1",
|
||||
|
|
@ -687,8 +695,8 @@
|
|||
"JUCE_PUSH_NOTIFICATIONS=1",
|
||||
"JUCE_SILENCE_XCODE_15_LINKER_WARNING=1",
|
||||
"JUCER_XCODE_MAC_F6D2F4CF=1",
|
||||
"JUCE_APP_VERSION=8.0.10",
|
||||
"JUCE_APP_VERSION_HEX=0x8000a",
|
||||
"JUCE_APP_VERSION=8.0.11",
|
||||
"JUCE_APP_VERSION_HEX=0x8000b",
|
||||
"JucePlugin_Build_VST=0",
|
||||
"JucePlugin_Build_VST3=0",
|
||||
"JucePlugin_Build_AU=0",
|
||||
|
|
@ -700,15 +708,15 @@
|
|||
);
|
||||
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sratom",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/serd",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lv2",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/VST3_SDK",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sratom",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/serd",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lv2",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/VST3_SDK",
|
||||
"$(SRCROOT)/../../JuceLibraryCode",
|
||||
"$(SRCROOT)/../../../../modules",
|
||||
"$(inherited)",
|
||||
|
|
@ -717,7 +725,7 @@
|
|||
INFOPLIST_PREPROCESS = NO;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||
MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv/src $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sratom $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord/src $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/serd $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lv2 $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/VST3_SDK $(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
|
||||
MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv/src $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sratom $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord/src $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/serd $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lv2 $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/VST3_SDK $(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
|
||||
OTHER_CFLAGS = "-Wall -Wcast-align -Wfloat-equal -Wno-ignored-qualifiers -Wsign-compare -Wsign-conversion -Wstrict-aliasing -Wswitch-enum -Wuninitialized -Wunreachable-code -Wunused-parameter -Wmissing-field-initializers -Wshadow-all -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wmissing-prototypes -Wnullable-to-nonnull-conversion -Wpedantic -Wdeprecated -Wunguarded-availability -Wunguarded-availability-new";
|
||||
OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wcast-align -Wfloat-equal -Wno-ignored-qualifiers -Wsign-compare -Wsign-conversion -Wstrict-aliasing -Wswitch-enum -Wuninitialized -Wunreachable-code -Wunused-parameter -Wmissing-field-initializers -Wshadow-all -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wmissing-prototypes -Wnullable-to-nonnull-conversion -Wpedantic -Wdeprecated -Wunguarded-availability -Wunguarded-availability-new";
|
||||
OTHER_LDFLAGS = "-Wl,-weak_reference_mismatches,weak";
|
||||
|
|
|
|||
|
|
@ -24,9 +24,9 @@
|
|||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>8.0.10</string>
|
||||
<string>8.0.11</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>8.0.10</string>
|
||||
<string>8.0.11</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright (c) - Raw Material Software Limited</string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -9,7 +9,7 @@
|
|||
#include <windows.h>
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 8,0,10,0
|
||||
FILEVERSION 8,0,11,0
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
|
|
@ -18,9 +18,9 @@ BEGIN
|
|||
VALUE "CompanyName", "Raw Material Software Limited\0"
|
||||
VALUE "LegalCopyright", "Copyright (c) - Raw Material Software Limited\0"
|
||||
VALUE "FileDescription", "DemoRunner\0"
|
||||
VALUE "FileVersion", "8.0.10\0"
|
||||
VALUE "FileVersion", "8.0.11\0"
|
||||
VALUE "ProductName", "DemoRunner\0"
|
||||
VALUE "ProductVersion", "8.0.10\0"
|
||||
VALUE "ProductVersion", "8.0.11\0"
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -9,7 +9,7 @@
|
|||
#include <windows.h>
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 8,0,10,0
|
||||
FILEVERSION 8,0,11,0
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
|
|
@ -18,9 +18,9 @@ BEGIN
|
|||
VALUE "CompanyName", "Raw Material Software Limited\0"
|
||||
VALUE "LegalCopyright", "Copyright (c) - Raw Material Software Limited\0"
|
||||
VALUE "FileDescription", "DemoRunner\0"
|
||||
VALUE "FileVersion", "8.0.10\0"
|
||||
VALUE "FileVersion", "8.0.11\0"
|
||||
VALUE "ProductName", "DemoRunner\0"
|
||||
VALUE "ProductVersion", "8.0.10\0"
|
||||
VALUE "ProductVersion", "8.0.11\0"
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
|||
21
examples/DemoRunner/Builds/VisualStudio2026/DemoRunner.sln
Normal file
21
examples/DemoRunner/Builds/VisualStudio2026/DemoRunner.sln
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio Version 18
|
||||
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DemoRunner - App", "DemoRunner_App.vcxproj", "{882FE2E3-F4EF-9825-1908-F6FEE5366B5C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{882FE2E3-F4EF-9825-1908-F6FEE5366B5C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{882FE2E3-F4EF-9825-1908-F6FEE5366B5C}.Debug|x64.Build.0 = Debug|x64
|
||||
{882FE2E3-F4EF-9825-1908-F6FEE5366B5C}.Release|x64.ActiveCfg = Release|x64
|
||||
{882FE2E3-F4EF-9825-1908-F6FEE5366B5C}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
4948
examples/DemoRunner/Builds/VisualStudio2026/DemoRunner_App.vcxproj
Normal file
4948
examples/DemoRunner/Builds/VisualStudio2026/DemoRunner_App.vcxproj
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
BIN
examples/DemoRunner/Builds/VisualStudio2026/icon.ico
Normal file
BIN
examples/DemoRunner/Builds/VisualStudio2026/icon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 44 KiB |
36
examples/DemoRunner/Builds/VisualStudio2026/resources.rc
Normal file
36
examples/DemoRunner/Builds/VisualStudio2026/resources.rc
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
#pragma code_page(65001)
|
||||
|
||||
#ifdef JUCE_USER_DEFINED_RC_FILE
|
||||
#include JUCE_USER_DEFINED_RC_FILE
|
||||
#else
|
||||
|
||||
#undef WIN32_LEAN_AND_MEAN
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 8,0,11,0
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904E4"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Raw Material Software Limited\0"
|
||||
VALUE "LegalCopyright", "Copyright (c) - Raw Material Software Limited\0"
|
||||
VALUE "FileDescription", "DemoRunner\0"
|
||||
VALUE "FileVersion", "8.0.11\0"
|
||||
VALUE "ProductName", "DemoRunner\0"
|
||||
VALUE "ProductVersion", "8.0.11\0"
|
||||
END
|
||||
END
|
||||
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1252
|
||||
END
|
||||
END
|
||||
|
||||
#endif
|
||||
|
||||
IDI_ICON1 ICON DISCARDABLE "icon.ico"
|
||||
IDI_ICON2 ICON DISCARDABLE "icon.ico"
|
||||
|
|
@ -9,6 +9,7 @@
|
|||
/* Begin PBXBuildFile section */
|
||||
0140787C0118A95E37DE90B4 /* include_juce_video.mm */ = {isa = PBXBuildFile; fileRef = 9144821E003E15E4042B57DB; };
|
||||
0B0CE6D5062E5C02A41F24BC /* CoreText.framework */ = {isa = PBXBuildFile; fileRef = 873F9DD54978E601102353B4; };
|
||||
10AD3C29E85B94A6351A0642 /* include_juce_audio_processors_headless.mm */ = {isa = PBXBuildFile; fileRef = 24B51D2BB8CEA0413BA4BD6C; };
|
||||
10D769051F1431A67AD2CB40 /* MetalKit.framework */ = {isa = PBXBuildFile; fileRef = 2992DB69DCFB7DADDE907385; settings = { ATTRIBUTES = (Weak, ); }; };
|
||||
11D7AB57EC28DB48A066F7AD /* include_juce_graphics_Harfbuzz.cpp */ = {isa = PBXBuildFile; fileRef = 483C3A8B4FB98B54BB42CB50; };
|
||||
1351A13E78F38741C6075600 /* CoreAudio.framework */ = {isa = PBXBuildFile; fileRef = 4F0A137A4115946A346180E6; };
|
||||
|
|
@ -31,11 +32,9 @@
|
|||
55F120E70543228568573D4A /* include_juce_animation.cpp */ = {isa = PBXBuildFile; fileRef = CB4C64BACC1CA4AAD6D69565; };
|
||||
5CB78489F16E82144914972D /* include_juce_gui_extra.mm */ = {isa = PBXBuildFile; fileRef = 979F23EA9E5E76131299E886; };
|
||||
5E4310B3F6BB639875D3E9B8 /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = 49ECA8B998B339A083674A22; };
|
||||
5EB6872A39122A5AB67E544E /* include_juce_audio_processors_ara.cpp */ = {isa = PBXBuildFile; fileRef = 8D44097417573B38729A0179; };
|
||||
611298FAC1A543BDD10D4C41 /* include_juce_box2d.cpp */ = {isa = PBXBuildFile; fileRef = 4DF215D350FFE5E119CBA7E5; };
|
||||
63A2F309E55DAC206E9B97E3 /* App */ = {isa = PBXBuildFile; fileRef = CFF2BBEB242CC8B3B904B5F9; };
|
||||
6658EEC5F9D63D3419EB7098 /* CoreServices.framework */ = {isa = PBXBuildFile; fileRef = E07FC48041C3E9F9721F3BCE; };
|
||||
67D7E529C3713ED79F5F3AA9 /* include_juce_audio_processors_lv2_libs.cpp */ = {isa = PBXBuildFile; fileRef = 5BD7D121AD30987C08BE10E8; };
|
||||
6A61CBB4E39BFD392D97528F /* CoreMIDI.framework */ = {isa = PBXBuildFile; fileRef = 61AE09C749B007B70A265D9B; };
|
||||
6B5560283DEEBD6DD2D6C984 /* include_juce_dsp.mm */ = {isa = PBXBuildFile; fileRef = C1E93FAF6C68A40A664422CD; };
|
||||
712D81867EC698463252FA79 /* include_juce_audio_utils.mm */ = {isa = PBXBuildFile; fileRef = EDDA01B246C6128CAF7A2914; };
|
||||
|
|
@ -66,12 +65,15 @@
|
|||
EFD00925ED57B2C5EB5412FC /* Metal.framework */ = {isa = PBXBuildFile; fileRef = 3644EF58D9EB1AB436A04E77; settings = { ATTRIBUTES = (Weak, ); }; };
|
||||
F28112945CEBEA4CE8975833 /* include_juce_audio_basics.mm */ = {isa = PBXBuildFile; fileRef = 03B0F9318FD583525AB195A9; };
|
||||
F619F3887CEC064441BB6EE6 /* Main.cpp */ = {isa = PBXBuildFile; fileRef = 260481E972425474BB8155B0; };
|
||||
FBC9BE065D0BACDAEDE81A89 /* include_juce_audio_processors_headless_ara.cpp */ = {isa = PBXBuildFile; fileRef = 04B7D675DEA0F154DEA68589; };
|
||||
FD151A328CDBDA9C683C2C83 /* include_juce_audio_processors_headless_lv2_libs.cpp */ = {isa = PBXBuildFile; fileRef = 877340409339CA0F561FB566; };
|
||||
FF87532E62753EDFA3D29CAD /* include_juce_cryptography.mm */ = {isa = PBXBuildFile; fileRef = 6C5E26B4D28F8450435B8AE1; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
03A63C3CA6F24977F19C316D /* include_juce_audio_devices.mm */ /* include_juce_audio_devices.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_devices.mm; path = ../../JuceLibraryCode/include_juce_audio_devices.mm; sourceTree = SOURCE_ROOT; };
|
||||
03B0F9318FD583525AB195A9 /* include_juce_audio_basics.mm */ /* include_juce_audio_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_basics.mm; path = ../../JuceLibraryCode/include_juce_audio_basics.mm; sourceTree = SOURCE_ROOT; };
|
||||
04B7D675DEA0F154DEA68589 /* include_juce_audio_processors_headless_ara.cpp */ /* include_juce_audio_processors_headless_ara.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_audio_processors_headless_ara.cpp; path = ../../JuceLibraryCode/include_juce_audio_processors_headless_ara.cpp; sourceTree = SOURCE_ROOT; };
|
||||
061AECBF1CC7056F4155812D /* DemoPIPs2.cpp */ /* DemoPIPs2.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DemoPIPs2.cpp; path = ../../Source/Demos/DemoPIPs2.cpp; sourceTree = SOURCE_ROOT; };
|
||||
0AB68DBAB6B7DAEDDDD5B683 /* include_juce_product_unlocking.mm */ /* include_juce_product_unlocking.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_product_unlocking.mm; path = ../../JuceLibraryCode/include_juce_product_unlocking.mm; sourceTree = SOURCE_ROOT; };
|
||||
0B36C013D9790568B481634C /* juce_audio_utils */ /* juce_audio_utils */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_utils; path = ../../../../modules/juce_audio_utils; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -80,6 +82,7 @@
|
|||
1CFE3935A3B810D5D68A2504 /* CoreMedia.framework */ /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
|
||||
1FCD2145DE3FCFCF4F55A8AD /* DemoContentComponent.h */ /* DemoContentComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DemoContentComponent.h; path = ../../Source/UI/DemoContentComponent.h; sourceTree = SOURCE_ROOT; };
|
||||
23CD1A3F9067C3A0ECE7BB67 /* QuartzCore.framework */ /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||
24B51D2BB8CEA0413BA4BD6C /* include_juce_audio_processors_headless.mm */ /* include_juce_audio_processors_headless.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_processors_headless.mm; path = ../../JuceLibraryCode/include_juce_audio_processors_headless.mm; sourceTree = SOURCE_ROOT; };
|
||||
25E5ED33876A2C752378C859 /* MainComponent.cpp */ /* MainComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/UI/MainComponent.cpp; sourceTree = SOURCE_ROOT; };
|
||||
260481E972425474BB8155B0 /* Main.cpp */ /* Main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = SOURCE_ROOT; };
|
||||
2992DB69DCFB7DADDE907385 /* MetalKit.framework */ /* MetalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalKit.framework; path = System/Library/Frameworks/MetalKit.framework; sourceTree = SDKROOT; };
|
||||
|
|
@ -104,7 +107,6 @@
|
|||
4FE6029FF76BCE9698595DC5 /* juce_product_unlocking */ /* juce_product_unlocking */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_product_unlocking; path = ../../../../modules/juce_product_unlocking; sourceTree = SOURCE_ROOT; };
|
||||
5965349393850F41DF76F350 /* include_juce_analytics.cpp */ /* include_juce_analytics.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_analytics.cpp; path = ../../JuceLibraryCode/include_juce_analytics.cpp; sourceTree = SOURCE_ROOT; };
|
||||
5A9F2000C66D24E8B01BE60B /* juce_gui_basics */ /* juce_gui_basics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_gui_basics; path = ../../../../modules/juce_gui_basics; sourceTree = SOURCE_ROOT; };
|
||||
5BD7D121AD30987C08BE10E8 /* include_juce_audio_processors_lv2_libs.cpp */ /* include_juce_audio_processors_lv2_libs.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_audio_processors_lv2_libs.cpp; path = ../../JuceLibraryCode/include_juce_audio_processors_lv2_libs.cpp; sourceTree = SOURCE_ROOT; };
|
||||
60F2869DC345EAF2314D6C09 /* juce_audio_devices */ /* juce_audio_devices */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_devices; path = ../../../../modules/juce_audio_devices; sourceTree = SOURCE_ROOT; };
|
||||
61AE09C749B007B70A265D9B /* CoreMIDI.framework */ /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
|
||||
640B7C54D35F5DF408327886 /* include_juce_core_CompilationTime.cpp */ /* include_juce_core_CompilationTime.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_core_CompilationTime.cpp; path = ../../JuceLibraryCode/include_juce_core_CompilationTime.cpp; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -121,8 +123,8 @@
|
|||
8135645508EEFDBDCDF2ADC6 /* Images.xcassets */ /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = DemoRunner/Images.xcassets; sourceTree = SOURCE_ROOT; };
|
||||
8447FC9882D85E6DAF0A4852 /* juce_animation */ /* juce_animation */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_animation; path = ../../../../modules/juce_animation; sourceTree = SOURCE_ROOT; };
|
||||
873F9DD54978E601102353B4 /* CoreText.framework */ /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
|
||||
877340409339CA0F561FB566 /* include_juce_audio_processors_headless_lv2_libs.cpp */ /* include_juce_audio_processors_headless_lv2_libs.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_audio_processors_headless_lv2_libs.cpp; path = ../../JuceLibraryCode/include_juce_audio_processors_headless_lv2_libs.cpp; sourceTree = SOURCE_ROOT; };
|
||||
8CE533D611CD0984AD028D73 /* juce_graphics */ /* juce_graphics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_graphics; path = ../../../../modules/juce_graphics; sourceTree = SOURCE_ROOT; };
|
||||
8D44097417573B38729A0179 /* include_juce_audio_processors_ara.cpp */ /* include_juce_audio_processors_ara.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_audio_processors_ara.cpp; path = ../../JuceLibraryCode/include_juce_audio_processors_ara.cpp; sourceTree = SOURCE_ROOT; };
|
||||
903CD4126C779884797EF915 /* juce_core */ /* juce_core */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_core; path = ../../../../modules/juce_core; sourceTree = SOURCE_ROOT; };
|
||||
9144821E003E15E4042B57DB /* include_juce_video.mm */ /* include_juce_video.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_video.mm; path = ../../JuceLibraryCode/include_juce_video.mm; sourceTree = SOURCE_ROOT; };
|
||||
934ACDCB3FD9D223A3481D8F /* JUCEDemos.cpp */ /* JUCEDemos.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JUCEDemos.cpp; path = ../../Source/Demos/JUCEDemos.cpp; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -156,6 +158,7 @@
|
|||
ECE79F1433E92BB6213C86F5 /* JUCEAppIcon.png */ /* JUCEAppIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = JUCEAppIcon.png; path = ../../Source/JUCEAppIcon.png; sourceTree = SOURCE_ROOT; };
|
||||
EDDA01B246C6128CAF7A2914 /* include_juce_audio_utils.mm */ /* include_juce_audio_utils.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_utils.mm; path = ../../JuceLibraryCode/include_juce_audio_utils.mm; sourceTree = SOURCE_ROOT; };
|
||||
EE6BDC78B539D27E65E92265 /* JUCEDemos.h */ /* JUCEDemos.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JUCEDemos.h; path = ../../Source/Demos/JUCEDemos.h; sourceTree = SOURCE_ROOT; };
|
||||
EF4A20C2FE8F347C1AFF5871 /* juce_audio_processors_headless */ /* juce_audio_processors_headless */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_processors_headless; path = ../../../../modules/juce_audio_processors_headless; sourceTree = SOURCE_ROOT; };
|
||||
F5F2EA2238973488632FC322 /* include_juce_data_structures.mm */ /* include_juce_data_structures.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_data_structures.mm; path = ../../JuceLibraryCode/include_juce_data_structures.mm; sourceTree = SOURCE_ROOT; };
|
||||
F90C8B0233A54F1445343F67 /* UIKit.framework */ /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||
FB1FC613CE260140F1CFD21B /* juce_events */ /* juce_events */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_events; path = ../../../../modules/juce_events; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -234,6 +237,7 @@
|
|||
60F2869DC345EAF2314D6C09,
|
||||
491641F7632BCC81BBA0ED85,
|
||||
346450C70C964FD9640B6086,
|
||||
EF4A20C2FE8F347C1AFF5871,
|
||||
0B36C013D9790568B481634C,
|
||||
6C2C1AC86623F457427965EF,
|
||||
903CD4126C779884797EF915,
|
||||
|
|
@ -263,8 +267,9 @@
|
|||
03A63C3CA6F24977F19C316D,
|
||||
E061A1C75FA5722167FC4997,
|
||||
E67AB94002886AF67437D6AE,
|
||||
8D44097417573B38729A0179,
|
||||
5BD7D121AD30987C08BE10E8,
|
||||
24B51D2BB8CEA0413BA4BD6C,
|
||||
04B7D675DEA0F154DEA68589,
|
||||
877340409339CA0F561FB566,
|
||||
EDDA01B246C6128CAF7A2914,
|
||||
4DF215D350FFE5E119CBA7E5,
|
||||
3BC9753E0CD75A36DC742EE0,
|
||||
|
|
@ -469,8 +474,9 @@
|
|||
9EACEA6BE8D0ACC72C12C080,
|
||||
26652AB1BB77C8A39434775F,
|
||||
2707968B431D83AC7E28E49B,
|
||||
5EB6872A39122A5AB67E544E,
|
||||
67D7E529C3713ED79F5F3AA9,
|
||||
10AD3C29E85B94A6351A0642,
|
||||
FBC9BE065D0BACDAEDE81A89,
|
||||
FD151A328CDBDA9C683C2C83,
|
||||
712D81867EC698463252FA79,
|
||||
611298FAC1A543BDD10D4C41,
|
||||
D183F8140174ACCDDCD230A2,
|
||||
|
|
@ -562,13 +568,14 @@
|
|||
"_NDEBUG=1",
|
||||
"NDEBUG=1",
|
||||
"JUCE_CONTENT_SHARING=1",
|
||||
"JUCE_PROJUCER_VERSION=0x8000a",
|
||||
"JUCE_PROJUCER_VERSION=0x8000b",
|
||||
"JUCE_MODULE_AVAILABLE_juce_analytics=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_animation=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_processors=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_processors_headless=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_utils=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_box2d=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_core=1",
|
||||
|
|
@ -599,8 +606,8 @@
|
|||
"JUCE_PUSH_NOTIFICATIONS=1",
|
||||
"JUCE_SILENCE_XCODE_15_LINKER_WARNING=1",
|
||||
"JUCER_XCODE_IPHONE_5BC26AE3=1",
|
||||
"JUCE_APP_VERSION=8.0.10",
|
||||
"JUCE_APP_VERSION_HEX=0x8000a",
|
||||
"JUCE_APP_VERSION=8.0.11",
|
||||
"JUCE_APP_VERSION_HEX=0x8000b",
|
||||
"JucePlugin_Build_VST=0",
|
||||
"JucePlugin_Build_VST3=0",
|
||||
"JucePlugin_Build_AU=0",
|
||||
|
|
@ -612,15 +619,15 @@
|
|||
);
|
||||
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sratom",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/serd",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lv2",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/VST3_SDK",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sratom",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/serd",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lv2",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/VST3_SDK",
|
||||
"$(SRCROOT)/../../JuceLibraryCode",
|
||||
"$(SRCROOT)/../../../../modules",
|
||||
"$(inherited)",
|
||||
|
|
@ -629,7 +636,7 @@
|
|||
INFOPLIST_PREPROCESS = NO;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
LLVM_LTO = YES;
|
||||
MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv/src $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sratom $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord/src $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/serd $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lv2 $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/VST3_SDK $(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
|
||||
MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv/src $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sratom $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord/src $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/serd $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lv2 $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/VST3_SDK $(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
|
||||
OTHER_CFLAGS = "-Wall -Wcast-align -Wfloat-equal -Wno-ignored-qualifiers -Wsign-compare -Wsign-conversion -Wstrict-aliasing -Wswitch-enum -Wuninitialized -Wunreachable-code -Wunused-parameter -Wmissing-field-initializers -Wshadow-all -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wmissing-prototypes -Wnullable-to-nonnull-conversion -Wpedantic -Wdeprecated -Wunguarded-availability -Wunguarded-availability-new";
|
||||
OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wcast-align -Wfloat-equal -Wno-ignored-qualifiers -Wsign-compare -Wsign-conversion -Wstrict-aliasing -Wswitch-enum -Wuninitialized -Wunreachable-code -Wunused-parameter -Wmissing-field-initializers -Wshadow-all -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wmissing-prototypes -Wnullable-to-nonnull-conversion -Wpedantic -Wdeprecated -Wunguarded-availability -Wunguarded-availability-new";
|
||||
OTHER_LDFLAGS = "-Wl,-weak_reference_mismatches,weak";
|
||||
|
|
@ -657,13 +664,14 @@
|
|||
"_DEBUG=1",
|
||||
"DEBUG=1",
|
||||
"JUCE_CONTENT_SHARING=1",
|
||||
"JUCE_PROJUCER_VERSION=0x8000a",
|
||||
"JUCE_PROJUCER_VERSION=0x8000b",
|
||||
"JUCE_MODULE_AVAILABLE_juce_analytics=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_animation=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_basics=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_devices=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_formats=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_processors=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_processors_headless=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_audio_utils=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_box2d=1",
|
||||
"JUCE_MODULE_AVAILABLE_juce_core=1",
|
||||
|
|
@ -694,8 +702,8 @@
|
|||
"JUCE_PUSH_NOTIFICATIONS=1",
|
||||
"JUCE_SILENCE_XCODE_15_LINKER_WARNING=1",
|
||||
"JUCER_XCODE_IPHONE_5BC26AE3=1",
|
||||
"JUCE_APP_VERSION=8.0.10",
|
||||
"JUCE_APP_VERSION_HEX=0x8000a",
|
||||
"JUCE_APP_VERSION=8.0.11",
|
||||
"JUCE_APP_VERSION_HEX=0x8000b",
|
||||
"JucePlugin_Build_VST=0",
|
||||
"JucePlugin_Build_VST3=0",
|
||||
"JucePlugin_Build_AU=0",
|
||||
|
|
@ -707,15 +715,15 @@
|
|||
);
|
||||
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sratom",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/serd",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lv2",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/VST3_SDK",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sratom",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord/src",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/serd",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lv2",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK",
|
||||
"$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/VST3_SDK",
|
||||
"$(SRCROOT)/../../JuceLibraryCode",
|
||||
"$(SRCROOT)/../../../../modules",
|
||||
"$(inherited)",
|
||||
|
|
@ -723,7 +731,7 @@
|
|||
INFOPLIST_FILE = Info-App.plist;
|
||||
INFOPLIST_PREPROCESS = NO;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv/src $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lilv $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sratom $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord/src $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/sord $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/serd $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK/lv2 $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/LV2_SDK $(SRCROOT)/../../../../modules/juce_audio_processors/format_types/VST3_SDK $(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
|
||||
MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv/src $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lilv $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sratom $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord/src $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/sord $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/serd $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK/lv2 $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/LV2_SDK $(SRCROOT)/../../../../modules/juce_audio_processors_headless/format_types/VST3_SDK $(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules";
|
||||
OTHER_CFLAGS = "-Wall -Wcast-align -Wfloat-equal -Wno-ignored-qualifiers -Wsign-compare -Wsign-conversion -Wstrict-aliasing -Wswitch-enum -Wuninitialized -Wunreachable-code -Wunused-parameter -Wmissing-field-initializers -Wshadow-all -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wmissing-prototypes -Wnullable-to-nonnull-conversion -Wpedantic -Wdeprecated -Wunguarded-availability -Wunguarded-availability-new";
|
||||
OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wcast-align -Wfloat-equal -Wno-ignored-qualifiers -Wsign-compare -Wsign-conversion -Wstrict-aliasing -Wswitch-enum -Wuninitialized -Wunreachable-code -Wunused-parameter -Wmissing-field-initializers -Wshadow-all -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wmissing-prototypes -Wnullable-to-nonnull-conversion -Wpedantic -Wdeprecated -Wunguarded-availability -Wunguarded-availability-new";
|
||||
OTHER_LDFLAGS = "-Wl,-weak_reference_mismatches,weak";
|
||||
|
|
|
|||
|
|
@ -37,9 +37,9 @@
|
|||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>8.0.10</string>
|
||||
<string>8.0.11</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>8.0.10</string>
|
||||
<string>8.0.11</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright (c) - Raw Material Software Limited</string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<JUCERPROJECT name="DemoRunner" projectType="guiapp" defines="JUCE_DEMO_RUNNER=1 JUCE_UNIT_TESTS=1 JUCE_PUSH_NOTIFICATIONS=1"
|
||||
bundleIdentifier="com.rmsl.jucedemorunner" version="8.0.10" companyName="Raw Material Software Limited"
|
||||
bundleIdentifier="com.rmsl.jucedemorunner" version="8.0.11" companyName="Raw Material Software Limited"
|
||||
companyCopyright="Copyright (c) - Raw Material Software Limited"
|
||||
companyWebsite="https://www.juce.com/" companyEmail="info@juce.com"
|
||||
id="yj7xMM" useAppConfig="0" addUsingNamespaceToJuceHeader="1"
|
||||
|
|
@ -64,6 +64,7 @@
|
|||
<MODULEPATH id="juce_osc" path="../../modules"/>
|
||||
<MODULEPATH id="juce_product_unlocking" path="../../modules"/>
|
||||
<MODULEPATH id="juce_video" path="../../modules"/>
|
||||
<MODULEPATH id="juce_audio_processors_headless" path="../../modules"/>
|
||||
</MODULEPATHS>
|
||||
</XCODE_MAC>
|
||||
<LINUX_MAKE targetFolder="Builds/LinuxMakefile" smallIcon="YyqWd2" bigIcon="YyqWd2">
|
||||
|
|
@ -94,6 +95,7 @@
|
|||
<MODULEPATH id="juce_osc" path="../../modules"/>
|
||||
<MODULEPATH id="juce_product_unlocking" path="../../modules"/>
|
||||
<MODULEPATH id="juce_video" path="../../modules"/>
|
||||
<MODULEPATH id="juce_audio_processors_headless" path="../../modules"/>
|
||||
</MODULEPATHS>
|
||||
</LINUX_MAKE>
|
||||
<ANDROIDSTUDIO targetFolder="Builds/Android" androidMinimumSDK="24" microphonePermissionNeeded="1"
|
||||
|
|
@ -102,7 +104,7 @@
|
|||
cameraPermissionNeeded="1" androidReadMediaAudioPermission="1"
|
||||
androidReadMediaImagesPermission="1" androidReadMediaVideoPermission="1"
|
||||
androidBluetoothScanNeeded="1" androidBluetoothAdvertiseNeeded="1"
|
||||
androidBluetoothConnectNeeded="1">
|
||||
androidBluetoothConnectNeeded="1" androidEnableVirtualMidi="1">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION isDebug="1" name="Debug" recommendedWarnings="LLVM" androidAdditionalRawValueResources="Source/accessibilitynotificationicon.png"/>
|
||||
<CONFIGURATION isDebug="0" name="Release" recommendedWarnings="LLVM" androidAdditionalRawValueResources="Source/accessibilitynotificationicon.png"/>
|
||||
|
|
@ -130,6 +132,7 @@
|
|||
<MODULEPATH id="juce_osc" path="../../modules"/>
|
||||
<MODULEPATH id="juce_product_unlocking" path="../../modules"/>
|
||||
<MODULEPATH id="juce_video" path="../../modules"/>
|
||||
<MODULEPATH id="juce_audio_processors_headless" path="../../modules"/>
|
||||
</MODULEPATHS>
|
||||
</ANDROIDSTUDIO>
|
||||
<XCODE_IPHONE targetFolder="Builds/iOS" UISupportsDocumentBrowser="1" microphonePermissionNeeded="1"
|
||||
|
|
@ -166,6 +169,7 @@
|
|||
<MODULEPATH id="juce_osc" path="../../modules"/>
|
||||
<MODULEPATH id="juce_product_unlocking" path="../../modules"/>
|
||||
<MODULEPATH id="juce_video" path="../../modules"/>
|
||||
<MODULEPATH id="juce_audio_processors_headless" path="../../modules"/>
|
||||
</MODULEPATHS>
|
||||
</XCODE_IPHONE>
|
||||
<VS2019 targetFolder="Builds/VisualStudio2019" smallIcon="YyqWd2" bigIcon="YyqWd2"
|
||||
|
|
@ -197,6 +201,7 @@
|
|||
<MODULEPATH id="juce_osc" path="../../modules"/>
|
||||
<MODULEPATH id="juce_product_unlocking" path="../../modules"/>
|
||||
<MODULEPATH id="juce_video" path="../../modules"/>
|
||||
<MODULEPATH id="juce_audio_processors_headless" path="../../modules"/>
|
||||
</MODULEPATHS>
|
||||
</VS2019>
|
||||
<VS2022 targetFolder="Builds/VisualStudio2022" smallIcon="YyqWd2" bigIcon="YyqWd2"
|
||||
|
|
@ -228,8 +233,40 @@
|
|||
<MODULEPATH id="juce_osc" path="../../modules"/>
|
||||
<MODULEPATH id="juce_product_unlocking" path="../../modules"/>
|
||||
<MODULEPATH id="juce_video" path="../../modules"/>
|
||||
<MODULEPATH id="juce_audio_processors_headless" path="../../modules"/>
|
||||
</MODULEPATHS>
|
||||
</VS2022>
|
||||
<VS2026 targetFolder="Builds/VisualStudio2026" smallIcon="YyqWd2" bigIcon="YyqWd2"
|
||||
extraCompilerFlags="/w44265 /w45038 /w44062" bigobj="/bigobj">
|
||||
<CONFIGURATIONS>
|
||||
<CONFIGURATION isDebug="1" name="Debug" targetName="DemoRunner"/>
|
||||
<CONFIGURATION isDebug="0" name="Release" useRuntimeLibDLL="0" targetName="DemoRunner"/>
|
||||
</CONFIGURATIONS>
|
||||
<MODULEPATHS>
|
||||
<MODULEPATH id="juce_analytics" path="../../modules"/>
|
||||
<MODULEPATH id="juce_animation" path="../../modules"/>
|
||||
<MODULEPATH id="juce_audio_basics" path="../../modules"/>
|
||||
<MODULEPATH id="juce_audio_devices" path="../../modules"/>
|
||||
<MODULEPATH id="juce_audio_formats" path="../../modules"/>
|
||||
<MODULEPATH id="juce_audio_processors" path="../../modules"/>
|
||||
<MODULEPATH id="juce_audio_utils" path="../../modules"/>
|
||||
<MODULEPATH id="juce_box2d" path="../../modules"/>
|
||||
<MODULEPATH id="juce_core" path="../../modules"/>
|
||||
<MODULEPATH id="juce_cryptography" path="../../modules"/>
|
||||
<MODULEPATH id="juce_data_structures" path="../../modules"/>
|
||||
<MODULEPATH id="juce_dsp" path="../../modules"/>
|
||||
<MODULEPATH id="juce_events" path="../../modules"/>
|
||||
<MODULEPATH id="juce_graphics" path="../../modules"/>
|
||||
<MODULEPATH id="juce_gui_basics" path="../../modules"/>
|
||||
<MODULEPATH id="juce_gui_extra" path="../../modules"/>
|
||||
<MODULEPATH id="juce_javascript" path="../../modules"/>
|
||||
<MODULEPATH id="juce_midi_ci" path="../../modules"/>
|
||||
<MODULEPATH id="juce_opengl" path="../../modules"/>
|
||||
<MODULEPATH id="juce_osc" path="../../modules"/>
|
||||
<MODULEPATH id="juce_product_unlocking" path="../../modules"/>
|
||||
<MODULEPATH id="juce_video" path="../../modules"/>
|
||||
</MODULEPATHS>
|
||||
</VS2026>
|
||||
</EXPORTFORMATS>
|
||||
<MODULES>
|
||||
<MODULE id="juce_analytics" showAllCode="1" useLocalCopy="0" useGlobalPath="0"/>
|
||||
|
|
@ -238,6 +275,8 @@
|
|||
<MODULE id="juce_audio_devices" showAllCode="1" useLocalCopy="0" useGlobalPath="0"/>
|
||||
<MODULE id="juce_audio_formats" showAllCode="1" useLocalCopy="0" useGlobalPath="0"/>
|
||||
<MODULE id="juce_audio_processors" showAllCode="1" useLocalCopy="0" useGlobalPath="0"/>
|
||||
<MODULE id="juce_audio_processors_headless" showAllCode="1" useLocalCopy="0"
|
||||
useGlobalPath="0"/>
|
||||
<MODULE id="juce_audio_utils" showAllCode="1" useLocalCopy="0" useGlobalPath="0"/>
|
||||
<MODULE id="juce_box2d" showAllCode="1" useLocalCopy="0" useGlobalPath="0"/>
|
||||
<MODULE id="juce_core" showAllCode="1" useLocalCopy="0" useGlobalPath="0"/>
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#include <juce_audio_devices/juce_audio_devices.h>
|
||||
#include <juce_audio_formats/juce_audio_formats.h>
|
||||
#include <juce_audio_processors/juce_audio_processors.h>
|
||||
#include <juce_audio_processors_headless/juce_audio_processors_headless.h>
|
||||
#include <juce_audio_utils/juce_audio_utils.h>
|
||||
#include <juce_box2d/juce_box2d.h>
|
||||
#include <juce_core/juce_core.h>
|
||||
|
|
@ -57,7 +58,7 @@ namespace ProjectInfo
|
|||
{
|
||||
const char* const projectName = "DemoRunner";
|
||||
const char* const companyName = "Raw Material Software Limited";
|
||||
const char* const versionString = "8.0.10";
|
||||
const int versionNumber = 0x8000a;
|
||||
const char* const versionString = "8.0.11";
|
||||
const int versionNumber = 0x8000b;
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
/*
|
||||
|
||||
IMPORTANT! This file is auto-generated each time you save your
|
||||
project - if you alter its contents, your changes may be overwritten!
|
||||
|
||||
*/
|
||||
|
||||
#include <juce_audio_processors_headless/juce_audio_processors_headless.cpp>
|
||||
|
|
@ -5,4 +5,4 @@
|
|||
|
||||
*/
|
||||
|
||||
#include <juce_audio_processors/juce_audio_processors_lv2_libs.cpp>
|
||||
#include <juce_audio_processors_headless/juce_audio_processors_headless.mm>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
/*
|
||||
|
||||
IMPORTANT! This file is auto-generated each time you save your
|
||||
project - if you alter its contents, your changes may be overwritten!
|
||||
|
||||
*/
|
||||
|
||||
#include <juce_audio_processors_headless/juce_audio_processors_headless_ara.cpp>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
/*
|
||||
|
||||
IMPORTANT! This file is auto-generated each time you save your
|
||||
project - if you alter its contents, your changes may be overwritten!
|
||||
|
||||
*/
|
||||
|
||||
#include <juce_audio_processors_headless/juce_audio_processors_headless_lv2_libs.cpp>
|
||||
|
|
@ -37,10 +37,11 @@
|
|||
#include "../../../Audio/AudioSynthesiserDemo.h"
|
||||
#include "../../../Audio/AudioWorkgroupDemo.h"
|
||||
#include "../../../Audio/CapabilityInquiryDemo.h"
|
||||
#include "../../../Audio/MidiDemo.h"
|
||||
#include "../../../Audio/MPEDemo.h"
|
||||
#include "../../../Audio/MidiDemo.h"
|
||||
#include "../../../Audio/PluckedStringsDemo.h"
|
||||
#include "../../../Audio/SimpleFFTDemo.h"
|
||||
#include "../../../Audio/UmpDemo.h"
|
||||
|
||||
#include "../../../DSP/ConvolutionDemo.h"
|
||||
#include "../../../DSP/FIRFilterDemo.h"
|
||||
|
|
@ -81,6 +82,7 @@ void registerDemos_One() noexcept
|
|||
REGISTER_DEMO (MPEDemo, Audio, false)
|
||||
REGISTER_DEMO (PluckedStringsDemo, Audio, false)
|
||||
REGISTER_DEMO (SimpleFFTDemo, Audio, false)
|
||||
REGISTER_DEMO (UmpDemo, Audio, false)
|
||||
|
||||
REGISTER_DEMO (ConvolutionDemo, DSP, false)
|
||||
REGISTER_DEMO (FIRFilterDemo, DSP, false)
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, androidstudio, xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
JUCE_PUSH_NOTIFICATIONS=1
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
dependencies: juce_gui_basics, juce_animation
|
||||
|
||||
exporters: xcode_mac, vs2022, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, androidstudio, xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_animation
|
||||
exporters: xcode_mac, vs2022, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, androidstudio, xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_audio_formats,
|
||||
juce_audio_processors, juce_audio_utils, juce_core,
|
||||
juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make
|
||||
juce_gui_basics, juce_gui_extra, juce_audio_processors_headless
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
dependencies: juce_audio_basics, juce_audio_devices, juce_core, juce_cryptography,
|
||||
juce_data_structures, juce_events, juce_graphics, juce_gui_basics,
|
||||
juce_gui_extra, juce_video
|
||||
exporters: xcode_mac, vs2022, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, androidstudio, xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_USE_CAMERA=1, JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics
|
||||
exporters: xcode_mac, vs2022
|
||||
exporters: xcode_mac, vs2022, vs2026
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics
|
||||
exporters: xcode_mac, vs2022, linux_make, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_events, juce_data_structures, juce_graphics,
|
||||
juce_gui_basics
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra, juce_opengl
|
||||
exporters: xcode_mac, vs2022, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra, juce_opengl
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,8 @@
|
|||
|
||||
dependencies: juce_core, juce_data_structures, juce_events, juce_graphics,
|
||||
juce_gui_basics, juce_gui_extra, juce_opengl
|
||||
exporters: xcode_mac, vs2022, linux_make, androidstudio, xcode_iphone
|
||||
exporters: xcode_mac, vs2022, vs2026, linux_make, androidstudio,
|
||||
xcode_iphone
|
||||
|
||||
moduleFlags: JUCE_STRICT_REFCOUNTEDPOINTER=1
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue