[arch-commits] Commit in juce/repos/community-x86_64 (18 files)
David Runge
dvzrv at gemini.archlinux.org
Sat Jul 9 10:29:42 UTC 2022
Date: Saturday, July 9, 2022 @ 10:29:41
Author: dvzrv
Revision: 1249092
archrelease: copy trunk to community-x86_64
Added:
juce/repos/community-x86_64/PKGBUILD
(from rev 1249091, juce/trunk/PKGBUILD)
juce/repos/community-x86_64/juce-6.1.2-cmake_install.patch
(from rev 1249091, juce/trunk/juce-6.1.2-cmake_install.patch)
juce/repos/community-x86_64/juce-6.1.2-cmake_juce_utils.patch
(from rev 1249091, juce/trunk/juce-6.1.2-cmake_juce_utils.patch)
juce/repos/community-x86_64/juce-6.1.2-devendor_libs.patch
(from rev 1249091, juce/trunk/juce-6.1.2-devendor_libs.patch)
juce/repos/community-x86_64/juce-6.1.2-fst_vst.patch
(from rev 1249091, juce/trunk/juce-6.1.2-fst_vst.patch)
juce/repos/community-x86_64/juce-6.1.2-projucer_disable_update_check.patch
(from rev 1249091, juce/trunk/juce-6.1.2-projucer_disable_update_check.patch)
juce/repos/community-x86_64/juce-6.1.2-projucer_juce_paths.patch
(from rev 1249091, juce/trunk/juce-6.1.2-projucer_juce_paths.patch)
juce/repos/community-x86_64/juce-6.1.3-cmake_link_against_system_deps.patch
(from rev 1249091, juce/trunk/juce-6.1.3-cmake_link_against_system_deps.patch)
juce/repos/community-x86_64/juce_VSTInterface.h
(from rev 1249091, juce/trunk/juce_VSTInterface.h)
Deleted:
juce/repos/community-x86_64/PKGBUILD
juce/repos/community-x86_64/juce-6.1.2-cmake_install.patch
juce/repos/community-x86_64/juce-6.1.2-cmake_juce_utils.patch
juce/repos/community-x86_64/juce-6.1.2-devendor_libs.patch
juce/repos/community-x86_64/juce-6.1.2-fst_vst.patch
juce/repos/community-x86_64/juce-6.1.2-projucer_disable_update_check.patch
juce/repos/community-x86_64/juce-6.1.2-projucer_juce_paths.patch
juce/repos/community-x86_64/juce-6.1.3-cmake_link_against_system_deps.patch
juce/repos/community-x86_64/juce_VSTInterface.h
-------------------------------------------------+
PKGBUILD | 232 +--
juce-6.1.2-cmake_install.patch | 96 -
juce-6.1.2-cmake_juce_utils.patch | 40
juce-6.1.2-devendor_libs.patch | 174 +-
juce-6.1.2-fst_vst.patch | 54
juce-6.1.2-projucer_disable_update_check.patch | 22
juce-6.1.2-projucer_juce_paths.patch | 44
juce-6.1.3-cmake_link_against_system_deps.patch | 176 +-
juce_VSTInterface.h | 1628 +++++++++++-----------
9 files changed, 1233 insertions(+), 1233 deletions(-)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2022-07-09 10:29:20 UTC (rev 1249091)
+++ PKGBUILD 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -1,116 +0,0 @@
-# Maintainer: David Runge <dvzrv at archlinux.org>
-
-_name=JUCE
-pkgbase=juce
-pkgname=(juce juce-docs)
-pkgver=7.0.0
-pkgrel=1
-pkgdesc="Cross-platform C++ framework"
-arch=(x86_64)
-url="https://github.com/juce-framework/juce/"
-license=(Apache BSD GPL3 ISC)
-makedepends=(alsa-lib cmake freetype2 doxygen flac gendesk graphviz gtk3 jack
-ladspa libjpeg-turbo libpng libvorbis python webkit2gtk zlib)
-options=(debug)
-source=(
- $pkgname-$pkgver.tar.gz::https://github.com/juce-framework/$pkgname/archive/$pkgver.tar.gz
- $pkgname-6.1.2-cmake_install.patch
- $pkgname-6.1.2-cmake_juce_utils.patch
- $pkgname-6.1.3-cmake_link_against_system_deps.patch
- $pkgname-6.1.2-devendor_libs.patch
- $pkgname-6.1.2-fst_vst.patch
- $pkgname-6.1.2-projucer_disable_update_check.patch
- $pkgname-6.1.2-projucer_juce_paths.patch
- ${pkgname}_VSTInterface.h
-)
-sha512sums=('0347380fce37eae58a2cfd2d14cf3d8025b37e8de87104656cc0699a8de914762199d4e6a214d24afd99cee548ec6aec198a7a04d804a97d0f4ceed49bf9a969'
- '52aba043ad3e5154b67f4d140f1d1e936962325763b47bbec57e1ef0a9cccbe6fa0b99598a756cb76853b5c1c5084b32055fc6a76f992b10323d867c82023399'
- '91ef9ced3a72db3b24d5892149cb3ac19fd132a0cc48a36afe1664864e7deb4928a3a19a92aee11f277beccbb8e500e4fa1aba74d77a52b3517ce4bb429904c6'
- '8d5105e7ea0977cba598c13e53708ca88cdea52c3fc92cca8849eb4e64209d4902d8eef6a1bda0894138f2e1fe4247156b1d39e74207d978534768f92490f2e8'
- 'ccec528a1daaf255a4686dad2d59314adab03a935a79893b04a8f04256179a2b1ba84fa563fd6781b314b9d2fc1ddf4892576f77d748e40577747013b3a60bc3'
- 'dddf5510f9391fc663db29174215e9575e9ec3956bb649c8a83564b0dcfa1202cc430fadd8faafa390b45c3a2e79ba75e3cdfb118db1e5c35836fad954b67e32'
- '2e1b823d9e5611e2c9efa1459f309f9add76d163411bb32cbd8c93f9751c6b97842af430f866f9ebce02d7602a655fd1f9d62f0530e5dc4d2621cbbd5444aad8'
- '766b761bf60a09fd01e9e6422df5b34c5305d41672b82b2c54819c581a952af5d7c8c39868c8615b57b14f772624bae4545ec878f2098ab5b8afb2ecf59146a1'
- '36a244740872cd203db3e1cebba5a5e245a3300a8c6c76046455ecc38083348f069987d0cba8f569390b4f0ba855799b8ff559cb540f02382b67a46d5b9cc420')
-b2sums=('3d5edb5d9bd9cd2ed828a39e025caab9273bccc21ce733d7dca9028a905f52a90c38a8f99b00caf5293f5848c9f447351a249ada23a1d05dbee8d59616ae9a17'
- '2419fd707b03a5e33cef03576cbeddb99ab4fd67f4fbec8047668ffb1daf78803cd608d7255893394e6d83dce5afd51608793384567228130a0082bcc9a67f60'
- '8accc2bb2def2b6c91084879071299c0d94e652dad61f15457d8a3c49507db30dcbd25f0311cc044661470ff986d7566ef503ec183b6ada535341dcb456d8e6d'
- 'cc766ff15858ed1d66c4f79b182903931e9bcfb0c83ab7ef5fccb487185b9ea31284764c232df962b1438671d79710f9a8d5a0e1d36ffeea43fca23b446c80e8'
- 'ee72102ecdf57490e9aec0fe6368d61e3c9f86a8b13fd35b3889eac591d716cc98c19b87d6d09360848202b4a108bbc39639d36e28d69908c80ee514b2cf40ee'
- 'b0a8758f6a97a487b7734839d59f0c0684d69ac67acba168a707296eeb82fb13c630506dcb05f45e1eaf9620adc881c6c467fdc3f3cfbb0326a4e6ebf36407e8'
- 'cd6c59deed414529c49dbf8506905cc7848bb48073e054d4cf2450c17c7268860330bd2d2e6d30e5a2a68cec2106e3498619e85ce602439f75ba9393084498f6'
- '4d42e73b4d15f0ef16a55d927de43127518f4420fe54f78b2c2a0e57a08eb192138f65f381017d0f1e6ca286009f63f16c269b58e7405c35894c0bc3ac91de7b'
- 'f56e59984bde66d482fdeae3cefc0d4dc9e25c9c170f2f0b46ec53bd63ec72432b1764ff282ef8093c1029a427852c09087827d22023b526786a03977cbb7a32')
-
-prepare() {
- gendesk \
- -n \
- --pkgname "com.juce_projucer" \
- --name "Projucer" \
- --pkgdesc "Cross-platform project manager and C++ code editor" \
- --exec "Projucer" \
- --icon "Projucer" \
- --genericname "Code manager and editor" \
- --categories "Development"
-
- cd $_name-$pkgver
- for _patch in ../*.patch; do
- printf "Applying patch %s\n" "${_patch}"
- patch -Np1 -i "${_patch}"
- done
-
- # remove bundled sources for flac, libogg, vorbis, libjpeg, libpng and zlib
- # as we are linking against system libs
- rm -rvf modules/juce_audio_formats/codecs/flac/ \
- modules/juce_audio_formats/codecs/oggvorbis/ \
- modules/juce_audio_plugin_client/AU/ \
- modules/juce_graphics/image_formats/jpglib/ \
- modules/juce_graphics/image_formats/pnglib/ \
- modules/juce_core/zip/zlib/
-}
-
-build() {
- # enable GPL mode via CPPFLAGS
- export CPPFLAGS+=" -DJUCER_ENABLE_GPL_MODE=1"
-
- cmake -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=None \
- -DJUCE_BUILD_EXTRAS=ON \
- -DJUCE_TOOL_INSTALL_DIR=bin \
- -Wno-dev \
- -B build \
- -S $_name-$pkgver
- make VERBOSE=1 -C build
- make -C $_name-$pkgver/docs/doxygen
-}
-
-package_juce() {
- depends=(gcc-libs glibc hicolor-icon-theme libpng libfreetype.so libjpeg.so
- ttf-font zlib)
- optdepends=(
- 'fst: for building FST plugins'
- 'python: for building LV2 plugins'
- )
-
- make DESTDIR="$pkgdir" VERBOSE=1 -C build install
- # projucer has no install target
- install -vDm 755 build/extras/Projucer/Projucer_artefacts/None/Projucer -t "$pkgdir/usr/bin/"
- # install custom vst2 handling from juce < 5.4.1
- install -vDm 644 juce_VSTInterface.h -t "$pkgdir/usr/share/juce/modules/juce_audio_processors/format_types/"
- # xdg desktop integration
- install -vDm 644 *.desktop -t "$pkgdir/usr/share/applications/"
- install -vDm 644 $_name-$pkgver/examples/Assets/juce_icon.png "$pkgdir/usr/share/icons/hicolor/512x512/apps/Projucer.png"
- # docs
- install -vDm 644 $_name-$pkgver/{{BREAKING-CHANGES,ChangeList}.txt,README.md} -t "$pkgdir/usr/share/doc/$pkgname/"
- # license
- install -vDm 644 $_name-$pkgver/LICENSE.md -t "$pkgdir/usr/share/licenses/$pkgname/"
-}
-
-package_juce-docs() {
- (
- cd $_name-$pkgver/docs/doxygen/doc
- find . -type f -exec install -vDm 644 {} "$pkgdir/usr/share/doc/$pkgbase/html/"{} \;
- )
- # license
- install -vDm 644 $_name-$pkgver/LICENSE.md -t "$pkgdir/usr/share/licenses/$pkgname/"
-}
Copied: juce/repos/community-x86_64/PKGBUILD (from rev 1249091, juce/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -0,0 +1,116 @@
+# Maintainer: David Runge <dvzrv at archlinux.org>
+
+_name=JUCE
+pkgbase=juce
+pkgname=(juce juce-docs)
+pkgver=7.0.1
+pkgrel=1
+pkgdesc="Cross-platform C++ framework"
+arch=(x86_64)
+url="https://github.com/juce-framework/juce/"
+license=(Apache BSD GPL3 ISC)
+makedepends=(alsa-lib cmake freetype2 doxygen flac gendesk graphviz gtk3 jack
+ladspa libjpeg-turbo libpng libvorbis python webkit2gtk zlib)
+options=(debug)
+source=(
+ $pkgname-$pkgver.tar.gz::https://github.com/juce-framework/$pkgname/archive/$pkgver.tar.gz
+ $pkgname-6.1.2-cmake_install.patch
+ $pkgname-6.1.2-cmake_juce_utils.patch
+ $pkgname-6.1.3-cmake_link_against_system_deps.patch
+ $pkgname-6.1.2-devendor_libs.patch
+ $pkgname-6.1.2-fst_vst.patch
+ $pkgname-6.1.2-projucer_disable_update_check.patch
+ $pkgname-6.1.2-projucer_juce_paths.patch
+ ${pkgname}_VSTInterface.h
+)
+sha512sums=('16cc2907c4caa75cd1df52f57e8d30cd736f27e2a18ef7c6c2777872721dad65b42ca7a9eded0c1ff5fb0438b9641b80fa93d9bb19d5e6bf975bcd30df4bafd0'
+ '52aba043ad3e5154b67f4d140f1d1e936962325763b47bbec57e1ef0a9cccbe6fa0b99598a756cb76853b5c1c5084b32055fc6a76f992b10323d867c82023399'
+ '91ef9ced3a72db3b24d5892149cb3ac19fd132a0cc48a36afe1664864e7deb4928a3a19a92aee11f277beccbb8e500e4fa1aba74d77a52b3517ce4bb429904c6'
+ '8d5105e7ea0977cba598c13e53708ca88cdea52c3fc92cca8849eb4e64209d4902d8eef6a1bda0894138f2e1fe4247156b1d39e74207d978534768f92490f2e8'
+ 'ccec528a1daaf255a4686dad2d59314adab03a935a79893b04a8f04256179a2b1ba84fa563fd6781b314b9d2fc1ddf4892576f77d748e40577747013b3a60bc3'
+ 'dddf5510f9391fc663db29174215e9575e9ec3956bb649c8a83564b0dcfa1202cc430fadd8faafa390b45c3a2e79ba75e3cdfb118db1e5c35836fad954b67e32'
+ '2e1b823d9e5611e2c9efa1459f309f9add76d163411bb32cbd8c93f9751c6b97842af430f866f9ebce02d7602a655fd1f9d62f0530e5dc4d2621cbbd5444aad8'
+ '766b761bf60a09fd01e9e6422df5b34c5305d41672b82b2c54819c581a952af5d7c8c39868c8615b57b14f772624bae4545ec878f2098ab5b8afb2ecf59146a1'
+ '36a244740872cd203db3e1cebba5a5e245a3300a8c6c76046455ecc38083348f069987d0cba8f569390b4f0ba855799b8ff559cb540f02382b67a46d5b9cc420')
+b2sums=('addd6eb8c6c5c100f2487ba68f0caad9bec1d7f9793e88ddb1c7ffb670c101397885c93130e5d4951fc14127dfff83ab6cdc9b6d010c2d02b9670569470904ed'
+ '2419fd707b03a5e33cef03576cbeddb99ab4fd67f4fbec8047668ffb1daf78803cd608d7255893394e6d83dce5afd51608793384567228130a0082bcc9a67f60'
+ '8accc2bb2def2b6c91084879071299c0d94e652dad61f15457d8a3c49507db30dcbd25f0311cc044661470ff986d7566ef503ec183b6ada535341dcb456d8e6d'
+ 'cc766ff15858ed1d66c4f79b182903931e9bcfb0c83ab7ef5fccb487185b9ea31284764c232df962b1438671d79710f9a8d5a0e1d36ffeea43fca23b446c80e8'
+ 'ee72102ecdf57490e9aec0fe6368d61e3c9f86a8b13fd35b3889eac591d716cc98c19b87d6d09360848202b4a108bbc39639d36e28d69908c80ee514b2cf40ee'
+ 'b0a8758f6a97a487b7734839d59f0c0684d69ac67acba168a707296eeb82fb13c630506dcb05f45e1eaf9620adc881c6c467fdc3f3cfbb0326a4e6ebf36407e8'
+ 'cd6c59deed414529c49dbf8506905cc7848bb48073e054d4cf2450c17c7268860330bd2d2e6d30e5a2a68cec2106e3498619e85ce602439f75ba9393084498f6'
+ '4d42e73b4d15f0ef16a55d927de43127518f4420fe54f78b2c2a0e57a08eb192138f65f381017d0f1e6ca286009f63f16c269b58e7405c35894c0bc3ac91de7b'
+ 'f56e59984bde66d482fdeae3cefc0d4dc9e25c9c170f2f0b46ec53bd63ec72432b1764ff282ef8093c1029a427852c09087827d22023b526786a03977cbb7a32')
+
+prepare() {
+ gendesk \
+ -n \
+ --pkgname "com.juce_projucer" \
+ --name "Projucer" \
+ --pkgdesc "Cross-platform project manager and C++ code editor" \
+ --exec "Projucer" \
+ --icon "Projucer" \
+ --genericname "Code manager and editor" \
+ --categories "Development"
+
+ cd $_name-$pkgver
+ for _patch in ../*.patch; do
+ printf "Applying patch %s\n" "${_patch}"
+ patch -Np1 -i "${_patch}"
+ done
+
+ # remove bundled sources for flac, libogg, vorbis, libjpeg, libpng and zlib
+ # as we are linking against system libs
+ rm -rvf modules/juce_audio_formats/codecs/flac/ \
+ modules/juce_audio_formats/codecs/oggvorbis/ \
+ modules/juce_audio_plugin_client/AU/ \
+ modules/juce_graphics/image_formats/jpglib/ \
+ modules/juce_graphics/image_formats/pnglib/ \
+ modules/juce_core/zip/zlib/
+}
+
+build() {
+ # enable GPL mode via CPPFLAGS
+ export CPPFLAGS+=" -DJUCER_ENABLE_GPL_MODE=1"
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=None \
+ -DJUCE_BUILD_EXTRAS=ON \
+ -DJUCE_TOOL_INSTALL_DIR=bin \
+ -Wno-dev \
+ -B build \
+ -S $_name-$pkgver
+ make VERBOSE=1 -C build
+ make -C $_name-$pkgver/docs/doxygen
+}
+
+package_juce() {
+ depends=(gcc-libs glibc hicolor-icon-theme libpng libfreetype.so libjpeg.so
+ ttf-font zlib)
+ optdepends=(
+ 'fst: for building FST plugins'
+ 'python: for building LV2 plugins'
+ )
+
+ make DESTDIR="$pkgdir" VERBOSE=1 -C build install
+ # projucer has no install target
+ install -vDm 755 build/extras/Projucer/Projucer_artefacts/None/Projucer -t "$pkgdir/usr/bin/"
+ # install custom vst2 handling from juce < 5.4.1
+ install -vDm 644 juce_VSTInterface.h -t "$pkgdir/usr/share/juce/modules/juce_audio_processors/format_types/"
+ # xdg desktop integration
+ install -vDm 644 *.desktop -t "$pkgdir/usr/share/applications/"
+ install -vDm 644 $_name-$pkgver/examples/Assets/juce_icon.png "$pkgdir/usr/share/icons/hicolor/512x512/apps/Projucer.png"
+ # docs
+ install -vDm 644 $_name-$pkgver/{{BREAKING-CHANGES,ChangeList}.txt,README.md} -t "$pkgdir/usr/share/doc/$pkgname/"
+ # license
+ install -vDm 644 $_name-$pkgver/LICENSE.md -t "$pkgdir/usr/share/licenses/$pkgname/"
+}
+
+package_juce-docs() {
+ (
+ cd $_name-$pkgver/docs/doxygen/doc
+ find . -type f -exec install -vDm 644 {} "$pkgdir/usr/share/doc/$pkgbase/html/"{} \;
+ )
+ # license
+ install -vDm 644 $_name-$pkgver/LICENSE.md -t "$pkgdir/usr/share/licenses/$pkgname/"
+}
Deleted: juce-6.1.2-cmake_install.patch
===================================================================
--- juce-6.1.2-cmake_install.patch 2022-07-09 10:29:20 UTC (rev 1249091)
+++ juce-6.1.2-cmake_install.patch 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -1,48 +0,0 @@
-diff -ruN a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt 2021-09-20 14:26:04.000000000 +0200
-+++ b/CMakeLists.txt 2021-09-25 23:53:15.171028235 +0200
-@@ -119,10 +119,10 @@
- COMPATIBILITY ExactVersion
- ${extra_version_arg})
-
--set(JUCE_INSTALL_DESTINATION "lib/cmake/JUCE-${JUCE_VERSION}" CACHE STRING
-+set(JUCE_INSTALL_DESTINATION "lib/cmake/juce" CACHE STRING
- "The location, relative to the install prefix, where the JUCE config file will be installed")
-
--set(JUCE_MODULE_PATH "include/JUCE-${JUCE_VERSION}/modules")
-+set(JUCE_MODULE_PATH "share/juce/modules")
- set(UTILS_INSTALL_DIR "${JUCE_INSTALL_DESTINATION}")
- set(JUCEAIDE_PATH "${JUCE_TOOL_INSTALL_DIR}/${JUCE_JUCEAIDE_NAME}")
- configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
-@@ -130,7 +130,6 @@
- PATH_VARS UTILS_INSTALL_DIR JUCEAIDE_PATH JUCE_MODULE_PATH
- INSTALL_DESTINATION "${JUCE_INSTALL_DESTINATION}")
-
--set(JUCE_MODULE_PATH "${JUCE_MODULES_DIR}")
- set(UTILS_INSTALL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extras/Build/CMake")
- get_target_property(JUCEAIDE_PATH juceaide IMPORTED_LOCATION)
- configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
-diff -ruN a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt
---- a/extras/Build/juceaide/CMakeLists.txt 2021-09-20 14:26:04.000000000 +0200
-+++ b/extras/Build/juceaide/CMakeLists.txt 2021-09-25 21:41:25.590399181 +0200
-@@ -100,7 +100,7 @@
-
- add_executable(juce::juceaide ALIAS juceaide)
-
-- set(JUCE_TOOL_INSTALL_DIR "bin/JUCE-${JUCE_VERSION}" CACHE STRING
-+ set(JUCE_TOOL_INSTALL_DIR "bin" CACHE STRING
- "The location, relative to the install prefix, where juceaide will be installed")
-
- install(PROGRAMS "${imported_location}" DESTINATION "${JUCE_TOOL_INSTALL_DIR}")
-diff -ruN a/modules/CMakeLists.txt b/modules/CMakeLists.txt
---- a/modules/CMakeLists.txt 2021-09-20 14:26:04.000000000 +0200
-+++ b/modules/CMakeLists.txt 2021-09-25 21:39:39.876766842 +0200
-@@ -22,7 +22,7 @@
- # ==============================================================================
-
- juce_add_modules(
-- INSTALL_PATH "include/JUCE-${JUCE_VERSION}/modules"
-+ INSTALL_PATH "share/juce/modules"
- ALIAS_NAMESPACE juce
- juce_analytics
- juce_audio_basics
Copied: juce/repos/community-x86_64/juce-6.1.2-cmake_install.patch (from rev 1249091, juce/trunk/juce-6.1.2-cmake_install.patch)
===================================================================
--- juce-6.1.2-cmake_install.patch (rev 0)
+++ juce-6.1.2-cmake_install.patch 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -0,0 +1,48 @@
+diff -ruN a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt 2021-09-20 14:26:04.000000000 +0200
++++ b/CMakeLists.txt 2021-09-25 23:53:15.171028235 +0200
+@@ -119,10 +119,10 @@
+ COMPATIBILITY ExactVersion
+ ${extra_version_arg})
+
+-set(JUCE_INSTALL_DESTINATION "lib/cmake/JUCE-${JUCE_VERSION}" CACHE STRING
++set(JUCE_INSTALL_DESTINATION "lib/cmake/juce" CACHE STRING
+ "The location, relative to the install prefix, where the JUCE config file will be installed")
+
+-set(JUCE_MODULE_PATH "include/JUCE-${JUCE_VERSION}/modules")
++set(JUCE_MODULE_PATH "share/juce/modules")
+ set(UTILS_INSTALL_DIR "${JUCE_INSTALL_DESTINATION}")
+ set(JUCEAIDE_PATH "${JUCE_TOOL_INSTALL_DIR}/${JUCE_JUCEAIDE_NAME}")
+ configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
+@@ -130,7 +130,6 @@
+ PATH_VARS UTILS_INSTALL_DIR JUCEAIDE_PATH JUCE_MODULE_PATH
+ INSTALL_DESTINATION "${JUCE_INSTALL_DESTINATION}")
+
+-set(JUCE_MODULE_PATH "${JUCE_MODULES_DIR}")
+ set(UTILS_INSTALL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extras/Build/CMake")
+ get_target_property(JUCEAIDE_PATH juceaide IMPORTED_LOCATION)
+ configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
+diff -ruN a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt
+--- a/extras/Build/juceaide/CMakeLists.txt 2021-09-20 14:26:04.000000000 +0200
++++ b/extras/Build/juceaide/CMakeLists.txt 2021-09-25 21:41:25.590399181 +0200
+@@ -100,7 +100,7 @@
+
+ add_executable(juce::juceaide ALIAS juceaide)
+
+- set(JUCE_TOOL_INSTALL_DIR "bin/JUCE-${JUCE_VERSION}" CACHE STRING
++ set(JUCE_TOOL_INSTALL_DIR "bin" CACHE STRING
+ "The location, relative to the install prefix, where juceaide will be installed")
+
+ install(PROGRAMS "${imported_location}" DESTINATION "${JUCE_TOOL_INSTALL_DIR}")
+diff -ruN a/modules/CMakeLists.txt b/modules/CMakeLists.txt
+--- a/modules/CMakeLists.txt 2021-09-20 14:26:04.000000000 +0200
++++ b/modules/CMakeLists.txt 2021-09-25 21:39:39.876766842 +0200
+@@ -22,7 +22,7 @@
+ # ==============================================================================
+
+ juce_add_modules(
+- INSTALL_PATH "include/JUCE-${JUCE_VERSION}/modules"
++ INSTALL_PATH "share/juce/modules"
+ ALIAS_NAMESPACE juce
+ juce_analytics
+ juce_audio_basics
Deleted: juce-6.1.2-cmake_juce_utils.patch
===================================================================
--- juce-6.1.2-cmake_juce_utils.patch 2022-07-09 10:29:20 UTC (rev 1249091)
+++ juce-6.1.2-cmake_juce_utils.patch 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -1,20 +0,0 @@
-diff -ruN a/extras/Build/CMake/JUCEUtils.cmake b/extras/Build/CMake/JUCEUtils.cmake
---- a/extras/Build/CMake/JUCEUtils.cmake 2021-09-20 14:26:04.000000000 +0200
-+++ b/extras/Build/CMake/JUCEUtils.cmake 2021-09-25 19:28:31.202649065 +0200
-@@ -83,6 +83,7 @@
- if((CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (CMAKE_SYSTEM_NAME MATCHES ".*BSD"))
- _juce_create_pkgconfig_target(JUCE_CURL_LINUX_DEPS libcurl)
- _juce_create_pkgconfig_target(JUCE_BROWSER_LINUX_DEPS webkit2gtk-4.0 gtk+-x11-3.0)
-+ _juce_create_pkgconfig_target(JUCE_IMG_LINUX_DEPS libjpeg libpng)
- elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
- find_program(JUCE_XCRUN xcrun)
-
-@@ -225,6 +226,8 @@
- if(needs_browser)
- target_link_libraries(${target} PRIVATE juce::pkgconfig_JUCE_BROWSER_LINUX_DEPS)
- endif()
-+
-+ target_link_libraries(${target} PRIVATE juce::pkgconfig_JUCE_IMG_LINUX_DEPS)
- elseif(APPLE)
- get_target_property(needs_storekit ${target} JUCE_NEEDS_STORE_KIT)
-
Copied: juce/repos/community-x86_64/juce-6.1.2-cmake_juce_utils.patch (from rev 1249091, juce/trunk/juce-6.1.2-cmake_juce_utils.patch)
===================================================================
--- juce-6.1.2-cmake_juce_utils.patch (rev 0)
+++ juce-6.1.2-cmake_juce_utils.patch 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -0,0 +1,20 @@
+diff -ruN a/extras/Build/CMake/JUCEUtils.cmake b/extras/Build/CMake/JUCEUtils.cmake
+--- a/extras/Build/CMake/JUCEUtils.cmake 2021-09-20 14:26:04.000000000 +0200
++++ b/extras/Build/CMake/JUCEUtils.cmake 2021-09-25 19:28:31.202649065 +0200
+@@ -83,6 +83,7 @@
+ if((CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (CMAKE_SYSTEM_NAME MATCHES ".*BSD"))
+ _juce_create_pkgconfig_target(JUCE_CURL_LINUX_DEPS libcurl)
+ _juce_create_pkgconfig_target(JUCE_BROWSER_LINUX_DEPS webkit2gtk-4.0 gtk+-x11-3.0)
++ _juce_create_pkgconfig_target(JUCE_IMG_LINUX_DEPS libjpeg libpng)
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ find_program(JUCE_XCRUN xcrun)
+
+@@ -225,6 +226,8 @@
+ if(needs_browser)
+ target_link_libraries(${target} PRIVATE juce::pkgconfig_JUCE_BROWSER_LINUX_DEPS)
+ endif()
++
++ target_link_libraries(${target} PRIVATE juce::pkgconfig_JUCE_IMG_LINUX_DEPS)
+ elseif(APPLE)
+ get_target_property(needs_storekit ${target} JUCE_NEEDS_STORE_KIT)
+
Deleted: juce-6.1.2-devendor_libs.patch
===================================================================
--- juce-6.1.2-devendor_libs.patch 2022-07-09 10:29:20 UTC (rev 1249091)
+++ juce-6.1.2-devendor_libs.patch 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -1,87 +0,0 @@
-diff -ruN a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp
---- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp 2021-09-20 14:26:04.000000000 +0200
-+++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp 2021-09-26 21:02:34.760731676 +0200
-@@ -528,6 +528,39 @@
- packages.add ("gtk+-x11-3.0");
- }
-
-+ // as vendored libraries were removed, we need to link against system libraries
-+ if (project.getEnabledModules().isModuleEnabled ("juce_core"))
-+ {
-+ packages.add ("zlib");
-+ }
-+ if (project.getEnabledModules().isModuleEnabled ("juce_graphics"))
-+ {
-+ packages.add ("libjpeg");
-+ packages.add ("libpng");
-+ }
-+ if (project.getEnabledModules().isModuleEnabled ("juce_audio_formats"))
-+ {
-+ if(project.isConfigFlagEnabled ("JUCE_USE_FLAC", true))
-+ {
-+ packages.add ("flac");
-+ }
-+
-+ if(project.isConfigFlagEnabled ("JUCE_USE_OGGVORBIS", true))
-+ {
-+ packages.add ("vorbis");
-+ packages.add ("vorbisfile");
-+ packages.add ("vorbisenc");
-+ packages.add ("ogg");
-+ }
-+ }
-+ if (project.getEnabledModules().isModuleEnabled ("juce_audio_devices"))
-+ {
-+ if(project.isConfigFlagEnabled ("JUCE_JACK", true))
-+ {
-+ packages.add ("jack");
-+ }
-+ }
-+
- packages.removeEmptyStrings();
- packages.removeDuplicates (false);
-
-diff -ruN a/modules/juce_core/juce_core.h b/modules/juce_core/juce_core.h
---- a/modules/juce_core/juce_core.h 2021-09-20 14:26:04.000000000 +0200
-+++ b/modules/juce_core/juce_core.h 2021-09-26 21:16:41.501526112 +0200
-@@ -65,6 +65,31 @@
-
- #include "system/juce_TargetPlatform.h"
-
-+#ifdef JUCE_INCLUDE_ZLIB_CODE
-+# undef JUCE_INCLUDE_ZLIB_CODE
-+#endif
-+#define JUCE_INCLUDE_ZLIB_CODE 0
-+
-+#ifdef JUCE_INCLUDE_FLAC_CODE
-+# undef JUCE_INCLUDE_FLAC_CODE
-+#endif
-+#define JUCE_INCLUDE_FLAC_CODE 0
-+
-+#ifdef JUCE_INCLUDE_OGGVORBIS_CODE
-+# undef JUCE_INCLUDE_OGGVORBIS_CODE
-+#endif
-+#define JUCE_INCLUDE_OGGVORBIS_CODE 0
-+
-+#ifdef JUCE_INCLUDE_JPEGLIB_CODE
-+# undef JUCE_INCLUDE_JPEGLIB_CODE
-+#endif
-+#define JUCE_INCLUDE_JPEGLIB_CODE 0
-+
-+#ifdef JUCE_INCLUDE_PNGLIB_CODE
-+# undef JUCE_INCLUDE_PNGLIB_CODE
-+#endif
-+#define JUCE_INCLUDE_PNGLIB_CODE 0
-+
- //==============================================================================
- /** Config: JUCE_FORCE_DEBUG
-
-@@ -124,7 +149,7 @@
- specify the path where your zlib headers live.
- */
- #ifndef JUCE_INCLUDE_ZLIB_CODE
-- #define JUCE_INCLUDE_ZLIB_CODE 1
-+ #define JUCE_INCLUDE_ZLIB_CODE 0
- #endif
-
- #ifndef JUCE_ZLIB_INCLUDE_PATH
Copied: juce/repos/community-x86_64/juce-6.1.2-devendor_libs.patch (from rev 1249091, juce/trunk/juce-6.1.2-devendor_libs.patch)
===================================================================
--- juce-6.1.2-devendor_libs.patch (rev 0)
+++ juce-6.1.2-devendor_libs.patch 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -0,0 +1,87 @@
+diff -ruN a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp
+--- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp 2021-09-20 14:26:04.000000000 +0200
++++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp 2021-09-26 21:02:34.760731676 +0200
+@@ -528,6 +528,39 @@
+ packages.add ("gtk+-x11-3.0");
+ }
+
++ // as vendored libraries were removed, we need to link against system libraries
++ if (project.getEnabledModules().isModuleEnabled ("juce_core"))
++ {
++ packages.add ("zlib");
++ }
++ if (project.getEnabledModules().isModuleEnabled ("juce_graphics"))
++ {
++ packages.add ("libjpeg");
++ packages.add ("libpng");
++ }
++ if (project.getEnabledModules().isModuleEnabled ("juce_audio_formats"))
++ {
++ if(project.isConfigFlagEnabled ("JUCE_USE_FLAC", true))
++ {
++ packages.add ("flac");
++ }
++
++ if(project.isConfigFlagEnabled ("JUCE_USE_OGGVORBIS", true))
++ {
++ packages.add ("vorbis");
++ packages.add ("vorbisfile");
++ packages.add ("vorbisenc");
++ packages.add ("ogg");
++ }
++ }
++ if (project.getEnabledModules().isModuleEnabled ("juce_audio_devices"))
++ {
++ if(project.isConfigFlagEnabled ("JUCE_JACK", true))
++ {
++ packages.add ("jack");
++ }
++ }
++
+ packages.removeEmptyStrings();
+ packages.removeDuplicates (false);
+
+diff -ruN a/modules/juce_core/juce_core.h b/modules/juce_core/juce_core.h
+--- a/modules/juce_core/juce_core.h 2021-09-20 14:26:04.000000000 +0200
++++ b/modules/juce_core/juce_core.h 2021-09-26 21:16:41.501526112 +0200
+@@ -65,6 +65,31 @@
+
+ #include "system/juce_TargetPlatform.h"
+
++#ifdef JUCE_INCLUDE_ZLIB_CODE
++# undef JUCE_INCLUDE_ZLIB_CODE
++#endif
++#define JUCE_INCLUDE_ZLIB_CODE 0
++
++#ifdef JUCE_INCLUDE_FLAC_CODE
++# undef JUCE_INCLUDE_FLAC_CODE
++#endif
++#define JUCE_INCLUDE_FLAC_CODE 0
++
++#ifdef JUCE_INCLUDE_OGGVORBIS_CODE
++# undef JUCE_INCLUDE_OGGVORBIS_CODE
++#endif
++#define JUCE_INCLUDE_OGGVORBIS_CODE 0
++
++#ifdef JUCE_INCLUDE_JPEGLIB_CODE
++# undef JUCE_INCLUDE_JPEGLIB_CODE
++#endif
++#define JUCE_INCLUDE_JPEGLIB_CODE 0
++
++#ifdef JUCE_INCLUDE_PNGLIB_CODE
++# undef JUCE_INCLUDE_PNGLIB_CODE
++#endif
++#define JUCE_INCLUDE_PNGLIB_CODE 0
++
+ //==============================================================================
+ /** Config: JUCE_FORCE_DEBUG
+
+@@ -124,7 +149,7 @@
+ specify the path where your zlib headers live.
+ */
+ #ifndef JUCE_INCLUDE_ZLIB_CODE
+- #define JUCE_INCLUDE_ZLIB_CODE 1
++ #define JUCE_INCLUDE_ZLIB_CODE 0
+ #endif
+
+ #ifndef JUCE_ZLIB_INCLUDE_PATH
Deleted: juce-6.1.2-fst_vst.patch
===================================================================
--- juce-6.1.2-fst_vst.patch 2022-07-09 10:29:20 UTC (rev 1249091)
+++ juce-6.1.2-fst_vst.patch 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -1,27 +0,0 @@
-diff -ruN a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
---- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp 2021-09-20 14:26:04.000000000 +0200
-+++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp 2021-09-26 00:58:02.047887074 +0200
-@@ -84,8 +84,7 @@
- // field in the Projucer. The VST2 SDK can be obtained from the
- // vstsdk3610_11_06_2018_build_37 (or older) VST3 SDK or JUCE version 5.3.2. You
- // also need a VST2 license from Steinberg to distribute VST2 plug-ins.
--#include "pluginterfaces/vst2.x/aeffect.h"
--#include "pluginterfaces/vst2.x/aeffectx.h"
-+#include "../../juce_audio_processors/format_types/juce_VSTInterface.h"
- }
-
- JUCE_END_IGNORE_WARNINGS_MSVC
-diff -ruN a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
---- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp 2021-09-20 14:26:04.000000000 +0200
-+++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp 2021-09-26 01:03:15.142161924 +0200
-@@ -46,8 +46,8 @@
- // paths or use the "VST (Legacy) SDK Folder" field in the Projucer. The VST2
- // SDK can be obtained from the vstsdk3610_11_06_2018_build_37 (or older) VST3
- // SDK or JUCE version 5.3.2.
--#include <pluginterfaces/vst2.x/aeffect.h>
--#include <pluginterfaces/vst2.x/aeffectx.h>
-+#define FST2VST 1
-+#include <pluginterfaces/fst/fst.h>
- }
-
- #include "juce_VSTCommon.h"
Copied: juce/repos/community-x86_64/juce-6.1.2-fst_vst.patch (from rev 1249091, juce/trunk/juce-6.1.2-fst_vst.patch)
===================================================================
--- juce-6.1.2-fst_vst.patch (rev 0)
+++ juce-6.1.2-fst_vst.patch 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -0,0 +1,27 @@
+diff -ruN a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
+--- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp 2021-09-20 14:26:04.000000000 +0200
++++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp 2021-09-26 00:58:02.047887074 +0200
+@@ -84,8 +84,7 @@
+ // field in the Projucer. The VST2 SDK can be obtained from the
+ // vstsdk3610_11_06_2018_build_37 (or older) VST3 SDK or JUCE version 5.3.2. You
+ // also need a VST2 license from Steinberg to distribute VST2 plug-ins.
+-#include "pluginterfaces/vst2.x/aeffect.h"
+-#include "pluginterfaces/vst2.x/aeffectx.h"
++#include "../../juce_audio_processors/format_types/juce_VSTInterface.h"
+ }
+
+ JUCE_END_IGNORE_WARNINGS_MSVC
+diff -ruN a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
+--- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp 2021-09-20 14:26:04.000000000 +0200
++++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp 2021-09-26 01:03:15.142161924 +0200
+@@ -46,8 +46,8 @@
+ // paths or use the "VST (Legacy) SDK Folder" field in the Projucer. The VST2
+ // SDK can be obtained from the vstsdk3610_11_06_2018_build_37 (or older) VST3
+ // SDK or JUCE version 5.3.2.
+-#include <pluginterfaces/vst2.x/aeffect.h>
+-#include <pluginterfaces/vst2.x/aeffectx.h>
++#define FST2VST 1
++#include <pluginterfaces/fst/fst.h>
+ }
+
+ #include "juce_VSTCommon.h"
Deleted: juce-6.1.2-projucer_disable_update_check.patch
===================================================================
--- juce-6.1.2-projucer_disable_update_check.patch 2022-07-09 10:29:20 UTC (rev 1249091)
+++ juce-6.1.2-projucer_disable_update_check.patch 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -1,11 +0,0 @@
-diff -ruN a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
---- a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp 2021-09-20 14:26:04.000000000 +0200
-+++ b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp 2021-09-26 00:16:57.933901901 +0200
-@@ -41,6 +41,7 @@
-
- void LatestVersionCheckerAndUpdater::checkForNewVersion (bool background)
- {
-+ return;
- if (! isThreadRunning())
- {
- backgroundCheck = background;
Copied: juce/repos/community-x86_64/juce-6.1.2-projucer_disable_update_check.patch (from rev 1249091, juce/trunk/juce-6.1.2-projucer_disable_update_check.patch)
===================================================================
--- juce-6.1.2-projucer_disable_update_check.patch (rev 0)
+++ juce-6.1.2-projucer_disable_update_check.patch 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -0,0 +1,11 @@
+diff -ruN a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
+--- a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp 2021-09-20 14:26:04.000000000 +0200
++++ b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp 2021-09-26 00:16:57.933901901 +0200
+@@ -41,6 +41,7 @@
+
+ void LatestVersionCheckerAndUpdater::checkForNewVersion (bool background)
+ {
++ return;
+ if (! isThreadRunning())
+ {
+ backgroundCheck = background;
Deleted: juce-6.1.2-projucer_juce_paths.patch
===================================================================
--- juce-6.1.2-projucer_juce_paths.patch 2022-07-09 10:29:20 UTC (rev 1249091)
+++ juce-6.1.2-projucer_juce_paths.patch 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -1,22 +0,0 @@
-diff -ruN a/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp b/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp
---- a/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp 2021-09-20 14:26:04.000000000 +0200
-+++ b/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp 2021-09-26 00:35:56.119917679 +0200
-@@ -358,15 +358,15 @@
- {
- if (key == Ids::jucePath)
- {
-- return (os == TargetOS::windows ? "C:\\JUCE" : "~/JUCE");
-+ return (os == TargetOS::windows ? "C:\\JUCE" : "/usr/share/doc/juce");
- }
- else if (key == Ids::defaultJuceModulePath)
- {
-- return (os == TargetOS::windows ? "C:\\JUCE\\modules" : "~/JUCE/modules");
-+ return (os == TargetOS::windows ? "C:\\JUCE\\modules" : "/usr/share/juce/modules");
- }
- else if (key == Ids::defaultUserModulePath)
- {
-- return (os == TargetOS::windows ? "C:\\modules" : "~/modules");
-+ return (os == TargetOS::windows ? "C:\\modules" : "~/.local/share/juce/modules");
- }
- else if (key == Ids::vstLegacyPath)
- {
Copied: juce/repos/community-x86_64/juce-6.1.2-projucer_juce_paths.patch (from rev 1249091, juce/trunk/juce-6.1.2-projucer_juce_paths.patch)
===================================================================
--- juce-6.1.2-projucer_juce_paths.patch (rev 0)
+++ juce-6.1.2-projucer_juce_paths.patch 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -0,0 +1,22 @@
+diff -ruN a/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp b/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp
+--- a/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp 2021-09-20 14:26:04.000000000 +0200
++++ b/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp 2021-09-26 00:35:56.119917679 +0200
+@@ -358,15 +358,15 @@
+ {
+ if (key == Ids::jucePath)
+ {
+- return (os == TargetOS::windows ? "C:\\JUCE" : "~/JUCE");
++ return (os == TargetOS::windows ? "C:\\JUCE" : "/usr/share/doc/juce");
+ }
+ else if (key == Ids::defaultJuceModulePath)
+ {
+- return (os == TargetOS::windows ? "C:\\JUCE\\modules" : "~/JUCE/modules");
++ return (os == TargetOS::windows ? "C:\\JUCE\\modules" : "/usr/share/juce/modules");
+ }
+ else if (key == Ids::defaultUserModulePath)
+ {
+- return (os == TargetOS::windows ? "C:\\modules" : "~/modules");
++ return (os == TargetOS::windows ? "C:\\modules" : "~/.local/share/juce/modules");
+ }
+ else if (key == Ids::vstLegacyPath)
+ {
Deleted: juce-6.1.3-cmake_link_against_system_deps.patch
===================================================================
--- juce-6.1.3-cmake_link_against_system_deps.patch 2022-07-09 10:29:20 UTC (rev 1249091)
+++ juce-6.1.3-cmake_link_against_system_deps.patch 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -1,88 +0,0 @@
-diff -ruN a/extras/AudioPerformanceTest/CMakeLists.txt b/extras/AudioPerformanceTest/CMakeLists.txt
---- a/extras/AudioPerformanceTest/CMakeLists.txt 2021-12-08 16:31:22.000000000 +0100
-+++ b/extras/AudioPerformanceTest/CMakeLists.txt 2021-12-12 00:06:59.963753084 +0100
-@@ -32,6 +32,11 @@
- JUCE_USE_CURL=0 JUCE_WEB_BROWSER=0)
-
- target_link_libraries(AudioPerformanceTest PRIVATE
-+ "FLAC"
-+ "ogg"
-+ "vorbis"
-+ "vorbisenc"
-+ "vorbisfile"
- juce::juce_audio_utils
- juce::juce_recommended_config_flags
- juce::juce_recommended_lto_flags
-diff -ruN a/extras/AudioPluginHost/CMakeLists.txt b/extras/AudioPluginHost/CMakeLists.txt
---- a/extras/AudioPluginHost/CMakeLists.txt 2021-12-08 16:31:22.000000000 +0100
-+++ b/extras/AudioPluginHost/CMakeLists.txt 2021-12-12 00:08:03.473979636 +0100
-@@ -63,6 +63,10 @@
- JUCE_WEB_BROWSER=0)
-
- target_link_libraries(AudioPluginHost PRIVATE
-+ "ogg"
-+ "vorbis"
-+ "vorbisenc"
-+ "vorbisfile"
- AudioPluginHostData
- juce::juce_audio_utils
- juce::juce_cryptography
-diff -ruN a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt
---- a/extras/Build/juceaide/CMakeLists.txt 2021-12-08 16:31:22.000000000 +0100
-+++ b/extras/Build/juceaide/CMakeLists.txt 2021-12-12 00:06:59.970419777 +0100
-@@ -37,6 +37,9 @@
- JUCE_USE_CURL=0)
-
- target_link_libraries(juceaide PRIVATE
-+ "jpeg"
-+ "png16"
-+ "z"
- juce::juce_build_tools
- juce::juce_recommended_config_flags
- juce::juce_recommended_lto_flags
-diff -ruN a/extras/NetworkGraphicsDemo/CMakeLists.txt b/extras/NetworkGraphicsDemo/CMakeLists.txt
---- a/extras/NetworkGraphicsDemo/CMakeLists.txt 2021-12-08 16:31:22.000000000 +0100
-+++ b/extras/NetworkGraphicsDemo/CMakeLists.txt 2021-12-12 00:06:59.963753084 +0100
-@@ -31,6 +31,13 @@
- JUCE_USE_CURL=0 JUCE_WEB_BROWSER=0)
-
- target_link_libraries(NetworkGraphicsDemo PRIVATE
-+ "FLAC"
-+ "ogg"
-+ "png"
-+ "vorbis"
-+ "vorbisenc"
-+ "vorbisfile"
-+ "z"
- juce::juce_audio_utils
- juce::juce_cryptography
- juce::juce_opengl
-diff -ruN a/extras/Projucer/CMakeLists.txt b/extras/Projucer/CMakeLists.txt
---- a/extras/Projucer/CMakeLists.txt 2021-12-08 16:31:22.000000000 +0100
-+++ b/extras/Projucer/CMakeLists.txt 2021-12-12 00:06:59.970419777 +0100
-@@ -158,6 +158,8 @@
- ../Build/CMake/juce_runtime_arch_detection.cpp)
-
- target_link_libraries(Projucer PRIVATE
-+ "png16"
-+ "jpeg"
- ProjucerData
- juce::juce_build_tools
- juce::juce_cryptography
-diff -ruN a/extras/UnitTestRunner/CMakeLists.txt b/extras/UnitTestRunner/CMakeLists.txt
---- a/extras/UnitTestRunner/CMakeLists.txt 2021-12-08 16:31:22.000000000 +0100
-+++ b/extras/UnitTestRunner/CMakeLists.txt 2021-12-12 00:06:59.963753084 +0100
-@@ -33,6 +33,13 @@
- JUCE_WEB_BROWSER=0)
-
- target_link_libraries(UnitTestRunner PRIVATE
-+ "FLAC"
-+ "ogg"
-+ "png16"
-+ "vorbis"
-+ "vorbisenc"
-+ "vorbisfile"
-+ "z"
- juce::juce_analytics
- juce::juce_audio_utils
- juce::juce_dsp
Copied: juce/repos/community-x86_64/juce-6.1.3-cmake_link_against_system_deps.patch (from rev 1249091, juce/trunk/juce-6.1.3-cmake_link_against_system_deps.patch)
===================================================================
--- juce-6.1.3-cmake_link_against_system_deps.patch (rev 0)
+++ juce-6.1.3-cmake_link_against_system_deps.patch 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -0,0 +1,88 @@
+diff -ruN a/extras/AudioPerformanceTest/CMakeLists.txt b/extras/AudioPerformanceTest/CMakeLists.txt
+--- a/extras/AudioPerformanceTest/CMakeLists.txt 2021-12-08 16:31:22.000000000 +0100
++++ b/extras/AudioPerformanceTest/CMakeLists.txt 2021-12-12 00:06:59.963753084 +0100
+@@ -32,6 +32,11 @@
+ JUCE_USE_CURL=0 JUCE_WEB_BROWSER=0)
+
+ target_link_libraries(AudioPerformanceTest PRIVATE
++ "FLAC"
++ "ogg"
++ "vorbis"
++ "vorbisenc"
++ "vorbisfile"
+ juce::juce_audio_utils
+ juce::juce_recommended_config_flags
+ juce::juce_recommended_lto_flags
+diff -ruN a/extras/AudioPluginHost/CMakeLists.txt b/extras/AudioPluginHost/CMakeLists.txt
+--- a/extras/AudioPluginHost/CMakeLists.txt 2021-12-08 16:31:22.000000000 +0100
++++ b/extras/AudioPluginHost/CMakeLists.txt 2021-12-12 00:08:03.473979636 +0100
+@@ -63,6 +63,10 @@
+ JUCE_WEB_BROWSER=0)
+
+ target_link_libraries(AudioPluginHost PRIVATE
++ "ogg"
++ "vorbis"
++ "vorbisenc"
++ "vorbisfile"
+ AudioPluginHostData
+ juce::juce_audio_utils
+ juce::juce_cryptography
+diff -ruN a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt
+--- a/extras/Build/juceaide/CMakeLists.txt 2021-12-08 16:31:22.000000000 +0100
++++ b/extras/Build/juceaide/CMakeLists.txt 2021-12-12 00:06:59.970419777 +0100
+@@ -37,6 +37,9 @@
+ JUCE_USE_CURL=0)
+
+ target_link_libraries(juceaide PRIVATE
++ "jpeg"
++ "png16"
++ "z"
+ juce::juce_build_tools
+ juce::juce_recommended_config_flags
+ juce::juce_recommended_lto_flags
+diff -ruN a/extras/NetworkGraphicsDemo/CMakeLists.txt b/extras/NetworkGraphicsDemo/CMakeLists.txt
+--- a/extras/NetworkGraphicsDemo/CMakeLists.txt 2021-12-08 16:31:22.000000000 +0100
++++ b/extras/NetworkGraphicsDemo/CMakeLists.txt 2021-12-12 00:06:59.963753084 +0100
+@@ -31,6 +31,13 @@
+ JUCE_USE_CURL=0 JUCE_WEB_BROWSER=0)
+
+ target_link_libraries(NetworkGraphicsDemo PRIVATE
++ "FLAC"
++ "ogg"
++ "png"
++ "vorbis"
++ "vorbisenc"
++ "vorbisfile"
++ "z"
+ juce::juce_audio_utils
+ juce::juce_cryptography
+ juce::juce_opengl
+diff -ruN a/extras/Projucer/CMakeLists.txt b/extras/Projucer/CMakeLists.txt
+--- a/extras/Projucer/CMakeLists.txt 2021-12-08 16:31:22.000000000 +0100
++++ b/extras/Projucer/CMakeLists.txt 2021-12-12 00:06:59.970419777 +0100
+@@ -158,6 +158,8 @@
+ ../Build/CMake/juce_runtime_arch_detection.cpp)
+
+ target_link_libraries(Projucer PRIVATE
++ "png16"
++ "jpeg"
+ ProjucerData
+ juce::juce_build_tools
+ juce::juce_cryptography
+diff -ruN a/extras/UnitTestRunner/CMakeLists.txt b/extras/UnitTestRunner/CMakeLists.txt
+--- a/extras/UnitTestRunner/CMakeLists.txt 2021-12-08 16:31:22.000000000 +0100
++++ b/extras/UnitTestRunner/CMakeLists.txt 2021-12-12 00:06:59.963753084 +0100
+@@ -33,6 +33,13 @@
+ JUCE_WEB_BROWSER=0)
+
+ target_link_libraries(UnitTestRunner PRIVATE
++ "FLAC"
++ "ogg"
++ "png16"
++ "vorbis"
++ "vorbisenc"
++ "vorbisfile"
++ "z"
+ juce::juce_analytics
+ juce::juce_audio_utils
+ juce::juce_dsp
Deleted: juce_VSTInterface.h
===================================================================
--- juce_VSTInterface.h 2022-07-09 10:29:20 UTC (rev 1249091)
+++ juce_VSTInterface.h 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -1,814 +0,0 @@
-/*
- ==============================================================================
-
- This file is part of the JUCE library.
- Copyright (c) 2017 - ROLI Ltd.
-
- JUCE is an open source library subject to commercial or open-source
- licensing.
-
- By using JUCE, you agree to the terms of both the JUCE 5 End-User License
- Agreement and JUCE 5 Privacy Policy (both updated and effective as of the
- 27th April 2017).
-
- End User License Agreement: www.juce.com/juce-5-licence
- Privacy Policy: www.juce.com/juce-5-privacy-policy
-
- Or: You may also use this code under the terms of the GPL v3 (see
- www.gnu.org/licenses).
-
- JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
- EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
- DISCLAIMED.
-
- ==============================================================================
-*/
-
-/*
- Copyright © 2019 IOhannes m zmölnig
-
- Provide additional structs & enum-aliases, to allow compilation with JUCE-5.4.1
-
- The names of the struct-members and enum-aliases have been derived by comparing
- juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp of
- both JUCE-5.3.2 and JUCE-5.4.1
- */
-
-#define JUCE_VSTINTERFACE_H_INCLUDED
-
-using namespace juce;
-
-#if JUCE_MSVC
- #define VSTINTERFACECALL __cdecl
- #pragma pack(push)
- #pragma pack(8)
-#elif JUCE_MAC || JUCE_IOS
- #define VSTINTERFACECALL
- #if JUCE_64BIT
- #pragma options align=power
- #else
- #pragma options align=mac68k
- #endif
-#else
- #define VSTINTERFACECALL
- #pragma pack(push, 8)
-#endif
-
-#define VSTCALLBACK VSTINTERFACECALL
-
-const int32 juceVstInterfaceVersion = 2400;
-#define kVstVersion 2400
-const int32 juceVstInterfaceIdentifier = 0x56737450; // The "magic" identifier in the SDK is 'VstP'.
-
-//==============================================================================
-/** Structure used for VSTs
-
- @tags{Audio}
-*/
-struct VstEffectInterface
-{
- int32 interfaceIdentifier;
- pointer_sized_int (VSTINTERFACECALL* dispatchFunction) (VstEffectInterface*, int32 op, int32 index, pointer_sized_int value, void* ptr, float opt);
- void (VSTINTERFACECALL* processAudioFunction) (VstEffectInterface*, float** inputs, float** outputs, int32 numSamples);
- void (VSTINTERFACECALL* setParameterValueFunction) (VstEffectInterface*, int32 parameterIndex, float value);
- float (VSTINTERFACECALL* getParameterValueFunction) (VstEffectInterface*, int32 parameterIndex);
- int32 numPrograms;
- int32 numParameters;
- int32 numInputChannels;
- int32 numOutputChannels;
- int32 flags;
- pointer_sized_int hostSpace1;
- pointer_sized_int hostSpace2;
- int32 latency;
- int32 deprecated1;
- int32 deprecated2;
- float deprecated3;
- void* effectPointer;
- void* userPointer;
- int32 plugInIdentifier;
- int32 plugInVersion;
- void (VSTINTERFACECALL* processAudioInplaceFunction) (VstEffectInterface*, float** inputs, float** outputs, int32 numSamples);
- void (VSTINTERFACECALL* processDoubleAudioInplaceFunction) (VstEffectInterface*, double** inputs, double** outputs, int32 numSamples);
- char emptySpace[56];
-};
-
-struct AEffect;
-typedef pointer_sized_int (VSTINTERFACECALL*AEffectDispatcherProc)(AEffect*, int32 op, int32 index, pointer_sized_int value, void* ptr, float opt);
-typedef void (VSTINTERFACECALL*AEffectProcessProc)(AEffect*, float** inputs, float** outputs, int32 numSamples);
-typedef void (VSTINTERFACECALL*AEffectProcessDoubleProc)(AEffect*, double** inputs, double** outputs, int32 numSamples);
-typedef float (VSTINTERFACECALL*AEffectGetParameterProc)(AEffect*, int32 parameterIndex);
-typedef void (VSTINTERFACECALL*AEffectSetParameterProc)(AEffect*, int32 parameterIndex, float value);
-
-struct AEffect
-{
- int32 magic;
- AEffectDispatcherProc dispatcher;
- AEffectProcessProc process;
- AEffectSetParameterProc setParameter;
- AEffectGetParameterProc getParameter;
- int32 numPrograms;
- int32 numParams;
- int32 numInputs;
- int32 numOutputs;
- int32 flags;
- pointer_sized_int hostSpace1;
- pointer_sized_int hostSpace2;
- int32 initialDelay;
- int32 deprecated1;
- int32 deprecated2;
- float deprecated3;
- void* object;
- void* userPointer;
- int32 uniqueID;
- int32 version;
- AEffectProcessProc processReplacing;
- AEffectProcessDoubleProc processDoubleReplacing;
- char emptySpace[56];
-};
-
-
-typedef pointer_sized_int (VSTINTERFACECALL* VstHostCallback) (VstEffectInterface*, int32 op, int32 index, pointer_sized_int value, void* ptr, float opt);
-typedef pointer_sized_int (VSTINTERFACECALL* audioMasterCallback) (AEffect*, int32 op, int32 index, pointer_sized_int value, void* ptr, float opt);
-
-enum VstEffectInterfaceFlags
-{
- vstEffectFlagHasEditor = 1,
- vstEffectFlagInplaceAudio = 16,
- vstEffectFlagDataInChunks = 32,
- vstEffectFlagIsSynth = 256,
- vstEffectFlagInplaceDoubleAudio = 4096
-
- , effFlagsHasEditor = vstEffectFlagHasEditor
- , effFlagsNoSoundInStop = 0 // FIXXME
- , effFlagsProgramChunks = vstEffectFlagDataInChunks
-
- , effFlagsCanReplacing = vstEffectFlagInplaceAudio
- , effFlagsIsSynth = vstEffectFlagIsSynth
- , effFlagsCanDoubleReplacing = vstEffectFlagInplaceDoubleAudio
-};
-
-//==============================================================================
-enum VstHostToPlugInOpcodes
-{
- plugInOpcodeOpen,
- plugInOpcodeClose,
- plugInOpcodeSetCurrentProgram,
- plugInOpcodeGetCurrentProgram,
- plugInOpcodeSetCurrentProgramName,
- plugInOpcodeGetCurrentProgramName,
- plugInOpcodeGetParameterLabel,
- plugInOpcodeGetParameterText,
- plugInOpcodeGetParameterName,
- plugInOpcodeSetSampleRate = plugInOpcodeGetParameterName + 2,
- plugInOpcodeSetBlockSize,
- plugInOpcodeResumeSuspend,
- plugInOpcodeGetEditorBounds,
- plugInOpcodeOpenEditor,
- plugInOpcodeCloseEditor,
- plugInOpcodeDrawEditor,
- plugInOpcodeGetMouse,
- plugInOpcodeEditorIdle = plugInOpcodeGetMouse + 2,
- plugInOpcodeeffEditorTop,
- plugInOpcodeSleepEditor,
- plugInOpcodeIdentify,
- plugInOpcodeGetData,
- plugInOpcodeSetData,
- plugInOpcodePreAudioProcessingEvents,
- plugInOpcodeIsParameterAutomatable,
- plugInOpcodeParameterValueForText,
- plugInOpcodeGetProgramName = plugInOpcodeParameterValueForText + 2,
- plugInOpcodeConnectInput = plugInOpcodeGetProgramName + 2,
- plugInOpcodeConnectOutput,
- plugInOpcodeGetInputPinProperties,
- plugInOpcodeGetOutputPinProperties,
- plugInOpcodeGetPlugInCategory,
- plugInOpcodeSetSpeakerConfiguration = plugInOpcodeGetPlugInCategory + 7,
- plugInOpcodeSetBypass = plugInOpcodeSetSpeakerConfiguration + 2,
- plugInOpcodeGetPlugInName,
- plugInOpcodeGetManufacturerName = plugInOpcodeGetPlugInName + 2,
- plugInOpcodeGetManufacturerProductName,
- plugInOpcodeGetManufacturerVersion,
- plugInOpcodeManufacturerSpecific,
- plugInOpcodeCanPlugInDo,
- plugInOpcodeGetTailSize,
- plugInOpcodeIdle,
- plugInOpcodeKeyboardFocusRequired = plugInOpcodeIdle + 4,
- plugInOpcodeGetVstInterfaceVersion,
- plugInOpcodeGetCurrentMidiProgram = plugInOpcodeGetVstInterfaceVersion + 5,
- plugInOpcodeGetSpeakerArrangement = plugInOpcodeGetCurrentMidiProgram + 6,
- plugInOpcodeNextPlugInUniqueID,
- plugInOpcodeStartProcess,
- plugInOpcodeStopProcess,
- plugInOpcodeSetNumberOfSamplesToProcess,
- plugInOpcodeSetSampleFloatType = plugInOpcodeSetNumberOfSamplesToProcess + 4,
- pluginOpcodeGetNumMidiInputChannels,
- pluginOpcodeGetNumMidiOutputChannels,
- plugInOpcodeMaximum = pluginOpcodeGetNumMidiOutputChannels
-
- , effOpen = plugInOpcodeOpen
- , effClose = plugInOpcodeClose
- , effSetProgram = plugInOpcodeSetCurrentProgram
- , effGetProgram = plugInOpcodeGetCurrentProgram
- , effSetProgramName = plugInOpcodeSetCurrentProgramName
- , effGetProgramName = plugInOpcodeGetCurrentProgramName
- , effGetParamLabel = plugInOpcodeGetParameterLabel
- , effGetParamDisplay = plugInOpcodeGetParameterText
- , effGetParamName = plugInOpcodeGetParameterName
- , effSetSampleRate = plugInOpcodeSetSampleRate
- , effSetBlockSize = plugInOpcodeSetBlockSize
- , effMainsChanged = plugInOpcodeResumeSuspend
- , effEditGetRect = plugInOpcodeGetEditorBounds
- , effEditOpen = plugInOpcodeOpenEditor
- , effEditClose = plugInOpcodeCloseEditor
- , effIdentify = plugInOpcodeIdentify
- , effGetChunk = plugInOpcodeGetData
- , effSetChunk = plugInOpcodeSetData
- , effProcessEvents = plugInOpcodePreAudioProcessingEvents
- , effCanBeAutomated = plugInOpcodeIsParameterAutomatable
- , effString2Parameter = plugInOpcodeParameterValueForText
- , effGetProgramNameIndexed = plugInOpcodeGetProgramName
- , effGetInputProperties = plugInOpcodeGetInputPinProperties
- , effGetOutputProperties = plugInOpcodeGetOutputPinProperties
- , effGetPlugCategory = plugInOpcodeGetPlugInCategory
- , effSetSpeakerArrangement = plugInOpcodeSetSpeakerConfiguration
- , effSetBypass = plugInOpcodeSetBypass
- , effGetEffectName = plugInOpcodeGetPlugInName
- , effGetProductString = plugInOpcodeGetManufacturerProductName
- , effGetVendorString = plugInOpcodeGetManufacturerName
- , effGetVendorVersion = plugInOpcodeGetManufacturerVersion
- , effVendorSpecific = plugInOpcodeManufacturerSpecific
- , effCanDo = plugInOpcodeCanPlugInDo
- , effGetTailSize = plugInOpcodeGetTailSize
- , effKeysRequired = plugInOpcodeKeyboardFocusRequired
- , effGetVstVersion = plugInOpcodeGetVstInterfaceVersion
- , effGetCurrentMidiProgram = plugInOpcodeGetCurrentMidiProgram
- , effGetSpeakerArrangement = plugInOpcodeGetSpeakerArrangement
- , effSetTotalSampleToProcess = plugInOpcodeSetNumberOfSamplesToProcess
- , effSetProcessPrecision = plugInOpcodeSetSampleFloatType
- , effGetNumMidiInputChannels = pluginOpcodeGetNumMidiInputChannels
- , effGetNumMidiOutputChannels = pluginOpcodeGetNumMidiOutputChannels
-
- , effConnectInput = plugInOpcodeConnectInput
- , effConnectOutput = plugInOpcodeConnectOutput
- , effEditIdle = plugInOpcodeEditorIdle
- , effIdle = plugInOpcodeIdle
- , effShellGetNextPlugin = plugInOpcodeNextPlugInUniqueID
- , effStartProcess = plugInOpcodeStartProcess
- , effStopProcess = plugInOpcodeStopProcess
-};
-
-
-enum VstPlugInToHostOpcodes
-{
- hostOpcodeParameterChanged,
- hostOpcodeVstVersion,
- hostOpcodeCurrentId,
- hostOpcodeIdle,
- hostOpcodePinConnected,
- hostOpcodePlugInWantsMidi = hostOpcodePinConnected + 2,
- hostOpcodeGetTimingInfo,
- hostOpcodePreAudioProcessingEvents,
- hostOpcodeSetTime,
- hostOpcodeTempoAt,
- hostOpcodeGetNumberOfAutomatableParameters,
- hostOpcodeGetParameterInterval,
- hostOpcodeIOModified,
- hostOpcodeNeedsIdle,
- hostOpcodeWindowSize,
- hostOpcodeGetSampleRate,
- hostOpcodeGetBlockSize,
- hostOpcodeGetInputLatency,
- hostOpcodeGetOutputLatency,
- hostOpcodeGetPreviousPlugIn,
- hostOpcodeGetNextPlugIn,
- hostOpcodeWillReplace,
- hostOpcodeGetCurrentAudioProcessingLevel,
- hostOpcodeGetAutomationState,
- hostOpcodeOfflineStart,
- hostOpcodeOfflineReadSource,
- hostOpcodeOfflineWrite,
- hostOpcodeOfflineGetCurrentPass,
- hostOpcodeOfflineGetCurrentMetaPass,
- hostOpcodeSetOutputSampleRate,
- hostOpcodeGetOutputSpeakerConfiguration,
- hostOpcodeGetManufacturerName,
- hostOpcodeGetProductName,
- hostOpcodeGetManufacturerVersion,
- hostOpcodeManufacturerSpecific,
- hostOpcodeSetIcon,
- hostOpcodeCanHostDo,
- hostOpcodeGetLanguage,
- hostOpcodeOpenEditorWindow,
- hostOpcodeCloseEditorWindow,
- hostOpcodeGetDirectory,
- hostOpcodeUpdateView,
- hostOpcodeParameterChangeGestureBegin,
- hostOpcodeParameterChangeGestureEnd
-
- , audioMasterProcessEvents = hostOpcodePreAudioProcessingEvents
- , audioMasterWantMidi = hostOpcodePlugInWantsMidi
- , audioMasterVendorSpecific = hostOpcodeManufacturerSpecific
- , audioMasterAutomate = hostOpcodeParameterChanged
- , audioMasterBeginEdit = hostOpcodeParameterChangeGestureBegin
- , audioMasterEndEdit = hostOpcodeParameterChangeGestureEnd
- , audioMasterUpdateDisplay = hostOpcodeUpdateView
- , audioMasterIOChanged = hostOpcodeIOModified
- , audioMasterCanDo = hostOpcodeCanHostDo
- , audioMasterGetCurrentProcessLevel = hostOpcodeGetCurrentAudioProcessingLevel
- , audioMasterGetTime = hostOpcodeGetTimingInfo
- , audioMasterSizeWindow = hostOpcodeWindowSize
- , audioMasterVersion = hostOpcodeVstVersion
-
- , audioMasterCloseWindow = hostOpcodeCloseEditorWindow
- , audioMasterCurrentId = hostOpcodeCurrentId
- , audioMasterGetAutomationState = hostOpcodeGetAutomationState
- , audioMasterGetBlockSize = hostOpcodeGetBlockSize
- , audioMasterGetDirectory = hostOpcodeGetDirectory
- , audioMasterGetInputLatency = hostOpcodeGetInputLatency
- , audioMasterGetLanguage = hostOpcodeGetLanguage
- , audioMasterGetNextPlug = hostOpcodeGetNextPlugIn
- , audioMasterGetNumAutomatableParameters = hostOpcodeGetNumberOfAutomatableParameters
- , audioMasterGetOutputLatency = hostOpcodeGetOutputLatency
- , audioMasterGetOutputSpeakerArrangement = hostOpcodeGetOutputSpeakerConfiguration
- , audioMasterGetParameterQuantization = hostOpcodeGetParameterInterval
- , audioMasterGetPreviousPlug = hostOpcodeGetPreviousPlugIn
- , audioMasterGetProductString = hostOpcodeGetProductName
- , audioMasterGetSampleRate = hostOpcodeGetSampleRate
- , audioMasterGetVendorString = hostOpcodeGetManufacturerName
- , audioMasterGetVendorVersion = hostOpcodeGetManufacturerVersion
- , audioMasterIdle = hostOpcodeIdle
- , audioMasterNeedIdle = hostOpcodeNeedsIdle
- , audioMasterOfflineGetCurrentMetaPass = hostOpcodeOfflineGetCurrentMetaPass
- , audioMasterOfflineGetCurrentPass = hostOpcodeOfflineGetCurrentPass
- , audioMasterOfflineRead = hostOpcodeOfflineReadSource
- , audioMasterOfflineStart = hostOpcodeOfflineStart
- , audioMasterOfflineWrite = hostOpcodeOfflineWrite
- , audioMasterOpenWindow = hostOpcodeOpenEditorWindow
- , audioMasterPinConnected = hostOpcodePinConnected
- , audioMasterSetIcon = hostOpcodeSetIcon
- , audioMasterSetOutputSampleRate = hostOpcodeSetOutputSampleRate
- , audioMasterSetTime = hostOpcodeSetTime
- , audioMasterTempoAt = hostOpcodeTempoAt
- , audioMasterWillReplaceOrAccumulate = hostOpcodeWillReplace
-
-};
-typedef enum VstPlugInToHostOpcodes AudioMasterOpcodesX;
-
-//==============================================================================
-enum VstProcessingSampleType
-{
- vstProcessingSampleTypeFloat,
- vstProcessingSampleTypeDouble
-
- , kVstProcessPrecision32 = vstProcessingSampleTypeFloat
- , kVstProcessPrecision64 = vstProcessingSampleTypeDouble
-};
-
-//==============================================================================
-// These names must be identical to the Steinberg SDK so JUCE users can set
-// exactly what they want.
-typedef enum VstPlugInCategory
-{
- kPlugCategUnknown,
- kPlugCategEffect,
- kPlugCategSynth,
- kPlugCategAnalysis,
- kPlugCategMastering,
- kPlugCategSpacializer,
- kPlugCategRoomFx,
- kPlugSurroundFx,
- kPlugCategRestoration,
- kPlugCategOfflineProcess,
- kPlugCategShell,
- kPlugCategGenerator
-} VstPlugCategory;
-
-//==============================================================================
-/** Structure used for VSTs
-
- @tags{Audio}
-*/
-struct VstEditorBounds
-{
- int16 upper;
- int16 leftmost;
- int16 lower;
- int16 rightmost;
-};
-struct ERect {
- int16 top;
- int16 left;
- int16 bottom;
- int16 right;
-};
-
-//==============================================================================
-enum VstMaxStringLengths
-{
- vstMaxNameLength = 64,
- vstMaxParameterOrPinLabelLength = 64,
- vstMaxParameterOrPinShortLabelLength = 8,
- vstMaxCategoryLength = 24,
- vstMaxManufacturerStringLength = 64,
- vstMaxPlugInNameStringLength = 64
-
- , kVstMaxLabelLen = vstMaxParameterOrPinLabelLength
- , kVstMaxShortLabelLen = vstMaxParameterOrPinShortLabelLength
- , kVstMaxProductStrLen = vstMaxPlugInNameStringLength
- , kVstMaxVendorStrLen = vstMaxManufacturerStringLength
-};
-
-//==============================================================================
-/** Structure used for VSTs
-
- @tags{Audio}
-*/
-struct VstPinInfo
-{
- char text[vstMaxParameterOrPinLabelLength];
- int32 flags;
- int32 configurationType;
- char shortText[vstMaxParameterOrPinShortLabelLength];
- char unused[48];
-};
-struct VstPinProperties
-{
- char label[vstMaxParameterOrPinLabelLength];
- int32 flags;
- int32 arrangementType;
- char shortLabel[vstMaxParameterOrPinShortLabelLength];
- char unused[48];
-};
-
-enum VstPinInfoFlags
-{
- vstPinInfoFlagIsActive = 1,
- vstPinInfoFlagIsStereo = 2,
- vstPinInfoFlagValid = 4
-
- , kVstPinIsActive = vstPinInfoFlagIsActive
- , kVstPinUseSpeaker = vstPinInfoFlagValid
- , kVstPinIsStereo = vstPinInfoFlagIsStereo
-};
-
-//==============================================================================
-/** Structure used for VSTs
-
- @tags{Audio}
-*/
-struct VstEvent
-{
- int32 type;
- int32 byteSize; // size;
- int32 deltaFrames; //? sampleOffset;
- int32 flags;
- char content[16];
-};
-
-enum VstEventTypes
-{
- vstMidiEventType = 1,
- vstSysExEventType = 6,
- kVstMidiType = vstMidiEventType,
- kVstSysExType = vstSysExEventType
-};
-
-/** Structure used for VSTs
-
- @tags{Audio}
-*/
-struct VstEvents
-{
- int32 numEvents;
- pointer_sized_int future;
- VstEvent* events[2];
-};
-
-/** Structure used for VSTs
-
- @tags{Audio}
-*/
-struct VstMidiEvent
-{
- int32 type;
- int32 byteSize; // size;
- int32 deltaFrames; //? sampleOffset;
- int32 flags;
- int32 noteLength; // noteSampleLength;
- int32 noteOffset; // noteSampleOffset;
- char midiData[4];
- char detune; // tuning;
- char noteOffVelocity; // noteVelocityOff;
- char future1;
- char future2;
-};
-
-enum VstMidiEventFlags
-{
- vstMidiEventIsRealtime = 1
-};
-
-/** Structure used for VSTs
-
- @tags{Audio}
-*/
-struct VstSysExEvent
-{
- int32 type;
- int32 byteSize; // size;
- int32 deltaFrames; //? offsetSamples;
- int32 flags;
- int32 dumpBytes; // sysExDumpSize;
- pointer_sized_int resvd1; // future1;
- char* sysexDump; // sysExDump;
- pointer_sized_int resvd2; // future2;
-};
-typedef VstSysExEvent VstMidiSysexEvent;
-
-//==============================================================================
-/** Structure used for VSTs
-
- @tags{Audio}
-*/
-struct VstTimingInformation
-{
- double samplePosition;
- double sampleRate;
- double systemTimeNanoseconds;
- double musicalPosition;
- double tempoBPM;
- double lastBarPosition;
- double loopStartPosition;
- double loopEndPosition;
- int32 timeSignatureNumerator;
- int32 timeSignatureDenominator;
- int32 smpteOffset;
- int32 smpteRate;
- int32 samplesToNearestClock;
- int32 flags;
-};
-struct VstTimeInfo
-{
- double samplePos;
- double sampleRate;
- double systemTimeNanoseconds;
- double ppqPos;
- double tempo;
- double barStartPos;
- double cycleStartPos;
- double cycleEndPos;
- int32 timeSigNumerator;
- int32 timeSigDenominator;
- int32 smpteOffset;
- int32 smpteFrameRate;
- int32 samplesToNearestClock;
- int32 flags;
-};
-
-enum VstTimingInformationFlags
-{
- vstTimingInfoFlagTransportChanged = 1,
- vstTimingInfoFlagCurrentlyPlaying = 2,
- vstTimingInfoFlagLoopActive = 4,
- vstTimingInfoFlagCurrentlyRecording = 8,
- vstTimingInfoFlagAutomationWriteModeActive = 64,
- vstTimingInfoFlagAutomationReadModeActive = 128,
- vstTimingInfoFlagNanosecondsValid = 256,
- vstTimingInfoFlagMusicalPositionValid = 512,
- vstTimingInfoFlagTempoValid = 1024,
- vstTimingInfoFlagLastBarPositionValid = 2048,
- vstTimingInfoFlagLoopPositionValid = 4096,
- vstTimingInfoFlagTimeSignatureValid = 8192,
- vstTimingInfoFlagSmpteValid = 16384,
- vstTimingInfoFlagNearestClockValid = 32768
-
- , kVstTransportPlaying = vstTimingInfoFlagCurrentlyPlaying
- , kVstTransportCycleActive = vstTimingInfoFlagLoopActive
- , kVstTransportRecording = vstTimingInfoFlagCurrentlyRecording
- , kVstPpqPosValid = vstTimingInfoFlagMusicalPositionValid
- , kVstTempoValid = vstTimingInfoFlagTempoValid
- , kVstBarsValid = vstTimingInfoFlagLastBarPositionValid
- , kVstCyclePosValid = vstTimingInfoFlagLoopPositionValid
- , kVstTimeSigValid = vstTimingInfoFlagTimeSignatureValid
- , kVstSmpteValid = vstTimingInfoFlagSmpteValid
- , kVstClockValid = vstTimingInfoFlagNearestClockValid
-
- , kVstAutomationReading = vstTimingInfoFlagAutomationReadModeActive
- , kVstAutomationWriting = vstTimingInfoFlagAutomationWriteModeActive
- , kVstNanosValid = vstTimingInfoFlagNanosecondsValid
- , kVstTransportChanged = vstTimingInfoFlagTransportChanged
-};
-
-//==============================================================================
-enum VstSmpteRates
-{
- vstSmpteRateFps24,
- vstSmpteRateFps25,
- vstSmpteRateFps2997,
- vstSmpteRateFps30,
- vstSmpteRateFps2997drop,
- vstSmpteRateFps30drop,
-
- vstSmpteRate16mmFilm,
- vstSmpteRate35mmFilm,
-
- vstSmpteRateFps239 = vstSmpteRate35mmFilm + 3,
- vstSmpteRateFps249,
- vstSmpteRateFps599,
- vstSmpteRateFps60
-
- , kVstSmpte239fps = vstSmpteRateFps239
- , kVstSmpte24fps = vstSmpteRateFps24
- , kVstSmpte25fps = vstSmpteRateFps25
- , kVstSmpte2997fps = vstSmpteRateFps2997
- , kVstSmpte30fps = vstSmpteRateFps30
- , kVstSmpte2997dfps = vstSmpteRateFps2997drop
- , kVstSmpte30dfps = vstSmpteRateFps30drop
- , kVstSmpteFilm16mm = vstSmpteRate16mmFilm
- , kVstSmpteFilm35mm = vstSmpteRate35mmFilm
- , kVstSmpte249fps = vstSmpteRateFps249
- , kVstSmpte599fps = vstSmpteRateFps599
- , kVstSmpte60fps = vstSmpteRateFps60
-};
-
-//==============================================================================
-/** Structure used for VSTs
-
- @tags{Audio}
-*/
-struct VstIndividualSpeakerInfo
-{
- float azimuthalAngle;
- float elevationAngle;
- float radius;
- float reserved;
- char label[vstMaxNameLength];
- int32 type;
- char unused[28];
-};
-typedef VstIndividualSpeakerInfo VstSpeakerProperties;
-
-enum VstIndividualSpeakerType
-{
- vstIndividualSpeakerTypeUndefined = 0x7fffffff,
- vstIndividualSpeakerTypeMono = 0,
- vstIndividualSpeakerTypeLeft,
- vstIndividualSpeakerTypeRight,
- vstIndividualSpeakerTypeCentre,
- vstIndividualSpeakerTypeLFE,
- vstIndividualSpeakerTypeLeftSurround,
- vstIndividualSpeakerTypeRightSurround,
- vstIndividualSpeakerTypeLeftCentre,
- vstIndividualSpeakerTypeRightCentre,
- vstIndividualSpeakerTypeSurround,
- vstIndividualSpeakerTypeCentreSurround = vstIndividualSpeakerTypeSurround,
- vstIndividualSpeakerTypeLeftRearSurround,
- vstIndividualSpeakerTypeRightRearSurround,
- vstIndividualSpeakerTypeTopMiddle,
- vstIndividualSpeakerTypeTopFrontLeft,
- vstIndividualSpeakerTypeTopFrontCentre,
- vstIndividualSpeakerTypeTopFrontRight,
- vstIndividualSpeakerTypeTopRearLeft,
- vstIndividualSpeakerTypeTopRearCentre,
- vstIndividualSpeakerTypeTopRearRight,
- vstIndividualSpeakerTypeLFE2
-
- , kSpeakerL = vstIndividualSpeakerTypeLeft
- , kSpeakerR = vstIndividualSpeakerTypeRight
- , kSpeakerC = vstIndividualSpeakerTypeCentre
- , kSpeakerLfe = vstIndividualSpeakerTypeLFE
- , kSpeakerLs = vstIndividualSpeakerTypeLeftSurround
- , kSpeakerRs = vstIndividualSpeakerTypeRightSurround
- , kSpeakerLc = vstIndividualSpeakerTypeLeftCentre
- , kSpeakerRc = vstIndividualSpeakerTypeRightCentre
- , kSpeakerS = vstIndividualSpeakerTypeSurround
- , kSpeakerSl = vstIndividualSpeakerTypeLeftRearSurround
- , kSpeakerSr = vstIndividualSpeakerTypeRightRearSurround
- , kSpeakerTm = vstIndividualSpeakerTypeTopMiddle
- , kSpeakerTfl = vstIndividualSpeakerTypeTopFrontLeft
- , kSpeakerTfc = vstIndividualSpeakerTypeTopFrontCentre
- , kSpeakerTfr = vstIndividualSpeakerTypeTopFrontRight
- , kSpeakerTrl = vstIndividualSpeakerTypeTopRearLeft
- , kSpeakerTrc = vstIndividualSpeakerTypeTopRearCentre
- , kSpeakerTrr = vstIndividualSpeakerTypeTopRearRight
- , kSpeakerLfe2 = vstIndividualSpeakerTypeLFE2
-};
-
-/** Structure used for VSTs
-
- @tags{Audio}
-*/
-struct VstSpeakerConfiguration
-{
- int32 type;
- int32 numChannels; // numberOfChannels;
- VstIndividualSpeakerInfo speakers[8];
-};
-typedef VstSpeakerConfiguration VstSpeakerArrangement;
-
-enum VstSpeakerConfigurationType
-{
- vstSpeakerConfigTypeUser = -2,
- vstSpeakerConfigTypeEmpty = -1,
- vstSpeakerConfigTypeMono = 0,
- vstSpeakerConfigTypeLR,
- vstSpeakerConfigTypeLsRs,
- vstSpeakerConfigTypeLcRc,
- vstSpeakerConfigTypeSlSr,
- vstSpeakerConfigTypeCLfe,
- vstSpeakerConfigTypeLRC,
- vstSpeakerConfigTypeLRS,
- vstSpeakerConfigTypeLRCLfe,
- vstSpeakerConfigTypeLRLfeS,
- vstSpeakerConfigTypeLRCS,
- vstSpeakerConfigTypeLRLsRs,
- vstSpeakerConfigTypeLRCLfeS,
- vstSpeakerConfigTypeLRLfeLsRs,
- vstSpeakerConfigTypeLRCLsRs,
- vstSpeakerConfigTypeLRCLfeLsRs,
- vstSpeakerConfigTypeLRCLsRsCs,
- vstSpeakerConfigTypeLRLsRsSlSr,
- vstSpeakerConfigTypeLRCLfeLsRsCs,
- vstSpeakerConfigTypeLRLfeLsRsSlSr,
- vstSpeakerConfigTypeLRCLsRsLcRc,
- vstSpeakerConfigTypeLRCLsRsSlSr,
- vstSpeakerConfigTypeLRCLfeLsRsLcRc,
- vstSpeakerConfigTypeLRCLfeLsRsSlSr,
- vstSpeakerConfigTypeLRCLsRsLcRcCs,
- vstSpeakerConfigTypeLRCLsRsCsSlSr,
- vstSpeakerConfigTypeLRCLfeLsRsLcRcCs,
- vstSpeakerConfigTypeLRCLfeLsRsCsSlSr,
- vstSpeakerConfigTypeLRCLfeLsRsTflTfcTfrTrlTrrLfe2
-
- , kSpeakerArrMono = vstSpeakerConfigTypeMono
- , kSpeakerArrStereo = vstSpeakerConfigTypeLR
- , kSpeakerArrStereoCLfe = vstSpeakerConfigTypeCLfe
- , kSpeakerArrStereoCenter = vstSpeakerConfigTypeLcRc
- , kSpeakerArrStereoSide = vstSpeakerConfigTypeSlSr
- , kSpeakerArrStereoSurround = vstSpeakerConfigTypeLsRs
- , kSpeakerArr30Cine = vstSpeakerConfigTypeLRC
- , kSpeakerArr31Cine = vstSpeakerConfigTypeLRCLfe
- , kSpeakerArr40Cine = vstSpeakerConfigTypeLRCS
- , kSpeakerArr41Cine = vstSpeakerConfigTypeLRCLfeS
- , kSpeakerArr60Cine = vstSpeakerConfigTypeLRCLsRsCs
- , kSpeakerArr61Cine = vstSpeakerConfigTypeLRCLfeLsRsCs
- , kSpeakerArr70Cine = vstSpeakerConfigTypeLRCLsRsLcRc // create7point0SDDS
- , kSpeakerArr71Cine = vstSpeakerConfigTypeLRCLfeLsRsLcRc
- , kSpeakerArr80Cine = vstSpeakerConfigTypeLRCLsRsLcRcCs
- , kSpeakerArr81Cine = vstSpeakerConfigTypeLRCLfeLsRsLcRcCs
- , kSpeakerArr30Music = vstSpeakerConfigTypeLRS
- , kSpeakerArr31Music = vstSpeakerConfigTypeLRLfeS
- , kSpeakerArr40Music = vstSpeakerConfigTypeLRLsRs
- , kSpeakerArr41Music = vstSpeakerConfigTypeLRLfeLsRs
- , kSpeakerArr60Music = vstSpeakerConfigTypeLRLsRsSlSr
- , kSpeakerArr61Music = vstSpeakerConfigTypeLRLfeLsRsSlSr
- , kSpeakerArr70Music = vstSpeakerConfigTypeLRCLsRsSlSr // create7point0
- , kSpeakerArr71Music = vstSpeakerConfigTypeLRCLfeLsRsSlSr
- , kSpeakerArr80Music = vstSpeakerConfigTypeLRCLsRsCsSlSr
- , kSpeakerArr81Music = vstSpeakerConfigTypeLRCLfeLsRsCsSlSr
- , kSpeakerArr50 = vstSpeakerConfigTypeLRCLsRs
- , kSpeakerArr51 = vstSpeakerConfigTypeLRCLfeLsRs
- , kSpeakerArr102 = vstSpeakerConfigTypeLRCLfeLsRsTflTfcTfrTrlTrrLfe2
- , kSpeakerArrEmpty = vstSpeakerConfigTypeEmpty
- , kSpeakerArrUserDefined = vstSpeakerConfigTypeUser
-};
-
-#if JUCE_BIG_ENDIAN
- #define JUCE_MULTICHAR_CONSTANT(a, b, c, d) (a | (((uint32) b) << 8) | (((uint32) c) << 16) | (((uint32) d) << 24))
-#else
- #define JUCE_MULTICHAR_CONSTANT(a, b, c, d) (d | (((uint32) c) << 8) | (((uint32) b) << 16) | (((uint32) a) << 24))
-#endif
-
-enum PresonusExtensionConstants
-{
- presonusVendorID = JUCE_MULTICHAR_CONSTANT ('P', 'r', 'e', 'S'),
- presonusSetContentScaleFactor = JUCE_MULTICHAR_CONSTANT ('A', 'e', 'C', 's')
-};
-
-//==============================================================================
-/** Structure used for VSTs
-
- @tags{Audio}
-*/
-struct vst2FxBank
-{
- int32 magic1;
- int32 size;
- int32 magic2;
- int32 version1;
- int32 fxID;
- int32 version2;
- int32 elements;
- int32 current;
- char shouldBeZero[124];
- int32 chunkSize;
- char chunk[1];
-};
-
-#if JUCE_MSVC
- #pragma pack(pop)
-#elif JUCE_MAC || JUCE_IOS
- #pragma options align=reset
-#else
- #pragma pack(pop)
-#endif
Copied: juce/repos/community-x86_64/juce_VSTInterface.h (from rev 1249091, juce/trunk/juce_VSTInterface.h)
===================================================================
--- juce_VSTInterface.h (rev 0)
+++ juce_VSTInterface.h 2022-07-09 10:29:41 UTC (rev 1249092)
@@ -0,0 +1,814 @@
+/*
+ ==============================================================================
+
+ This file is part of the JUCE library.
+ Copyright (c) 2017 - ROLI Ltd.
+
+ JUCE is an open source library subject to commercial or open-source
+ licensing.
+
+ By using JUCE, you agree to the terms of both the JUCE 5 End-User License
+ Agreement and JUCE 5 Privacy Policy (both updated and effective as of the
+ 27th April 2017).
+
+ End User License Agreement: www.juce.com/juce-5-licence
+ Privacy Policy: www.juce.com/juce-5-privacy-policy
+
+ Or: You may also use this code under the terms of the GPL v3 (see
+ www.gnu.org/licenses).
+
+ JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
+ EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
+ DISCLAIMED.
+
+ ==============================================================================
+*/
+
+/*
+ Copyright © 2019 IOhannes m zmölnig
+
+ Provide additional structs & enum-aliases, to allow compilation with JUCE-5.4.1
+
+ The names of the struct-members and enum-aliases have been derived by comparing
+ juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp of
+ both JUCE-5.3.2 and JUCE-5.4.1
+ */
+
+#define JUCE_VSTINTERFACE_H_INCLUDED
+
+using namespace juce;
+
+#if JUCE_MSVC
+ #define VSTINTERFACECALL __cdecl
+ #pragma pack(push)
+ #pragma pack(8)
+#elif JUCE_MAC || JUCE_IOS
+ #define VSTINTERFACECALL
+ #if JUCE_64BIT
+ #pragma options align=power
+ #else
+ #pragma options align=mac68k
+ #endif
+#else
+ #define VSTINTERFACECALL
+ #pragma pack(push, 8)
+#endif
+
+#define VSTCALLBACK VSTINTERFACECALL
+
+const int32 juceVstInterfaceVersion = 2400;
+#define kVstVersion 2400
+const int32 juceVstInterfaceIdentifier = 0x56737450; // The "magic" identifier in the SDK is 'VstP'.
+
+//==============================================================================
+/** Structure used for VSTs
+
+ @tags{Audio}
+*/
+struct VstEffectInterface
+{
+ int32 interfaceIdentifier;
+ pointer_sized_int (VSTINTERFACECALL* dispatchFunction) (VstEffectInterface*, int32 op, int32 index, pointer_sized_int value, void* ptr, float opt);
+ void (VSTINTERFACECALL* processAudioFunction) (VstEffectInterface*, float** inputs, float** outputs, int32 numSamples);
+ void (VSTINTERFACECALL* setParameterValueFunction) (VstEffectInterface*, int32 parameterIndex, float value);
+ float (VSTINTERFACECALL* getParameterValueFunction) (VstEffectInterface*, int32 parameterIndex);
+ int32 numPrograms;
+ int32 numParameters;
+ int32 numInputChannels;
+ int32 numOutputChannels;
+ int32 flags;
+ pointer_sized_int hostSpace1;
+ pointer_sized_int hostSpace2;
+ int32 latency;
+ int32 deprecated1;
+ int32 deprecated2;
+ float deprecated3;
+ void* effectPointer;
+ void* userPointer;
+ int32 plugInIdentifier;
+ int32 plugInVersion;
+ void (VSTINTERFACECALL* processAudioInplaceFunction) (VstEffectInterface*, float** inputs, float** outputs, int32 numSamples);
+ void (VSTINTERFACECALL* processDoubleAudioInplaceFunction) (VstEffectInterface*, double** inputs, double** outputs, int32 numSamples);
+ char emptySpace[56];
+};
+
+struct AEffect;
+typedef pointer_sized_int (VSTINTERFACECALL*AEffectDispatcherProc)(AEffect*, int32 op, int32 index, pointer_sized_int value, void* ptr, float opt);
+typedef void (VSTINTERFACECALL*AEffectProcessProc)(AEffect*, float** inputs, float** outputs, int32 numSamples);
+typedef void (VSTINTERFACECALL*AEffectProcessDoubleProc)(AEffect*, double** inputs, double** outputs, int32 numSamples);
+typedef float (VSTINTERFACECALL*AEffectGetParameterProc)(AEffect*, int32 parameterIndex);
+typedef void (VSTINTERFACECALL*AEffectSetParameterProc)(AEffect*, int32 parameterIndex, float value);
+
+struct AEffect
+{
+ int32 magic;
+ AEffectDispatcherProc dispatcher;
+ AEffectProcessProc process;
+ AEffectSetParameterProc setParameter;
+ AEffectGetParameterProc getParameter;
+ int32 numPrograms;
+ int32 numParams;
+ int32 numInputs;
+ int32 numOutputs;
+ int32 flags;
+ pointer_sized_int hostSpace1;
+ pointer_sized_int hostSpace2;
+ int32 initialDelay;
+ int32 deprecated1;
+ int32 deprecated2;
+ float deprecated3;
+ void* object;
+ void* userPointer;
+ int32 uniqueID;
+ int32 version;
+ AEffectProcessProc processReplacing;
+ AEffectProcessDoubleProc processDoubleReplacing;
+ char emptySpace[56];
+};
+
+
+typedef pointer_sized_int (VSTINTERFACECALL* VstHostCallback) (VstEffectInterface*, int32 op, int32 index, pointer_sized_int value, void* ptr, float opt);
+typedef pointer_sized_int (VSTINTERFACECALL* audioMasterCallback) (AEffect*, int32 op, int32 index, pointer_sized_int value, void* ptr, float opt);
+
+enum VstEffectInterfaceFlags
+{
+ vstEffectFlagHasEditor = 1,
+ vstEffectFlagInplaceAudio = 16,
+ vstEffectFlagDataInChunks = 32,
+ vstEffectFlagIsSynth = 256,
+ vstEffectFlagInplaceDoubleAudio = 4096
+
+ , effFlagsHasEditor = vstEffectFlagHasEditor
+ , effFlagsNoSoundInStop = 0 // FIXXME
+ , effFlagsProgramChunks = vstEffectFlagDataInChunks
+
+ , effFlagsCanReplacing = vstEffectFlagInplaceAudio
+ , effFlagsIsSynth = vstEffectFlagIsSynth
+ , effFlagsCanDoubleReplacing = vstEffectFlagInplaceDoubleAudio
+};
+
+//==============================================================================
+enum VstHostToPlugInOpcodes
+{
+ plugInOpcodeOpen,
+ plugInOpcodeClose,
+ plugInOpcodeSetCurrentProgram,
+ plugInOpcodeGetCurrentProgram,
+ plugInOpcodeSetCurrentProgramName,
+ plugInOpcodeGetCurrentProgramName,
+ plugInOpcodeGetParameterLabel,
+ plugInOpcodeGetParameterText,
+ plugInOpcodeGetParameterName,
+ plugInOpcodeSetSampleRate = plugInOpcodeGetParameterName + 2,
+ plugInOpcodeSetBlockSize,
+ plugInOpcodeResumeSuspend,
+ plugInOpcodeGetEditorBounds,
+ plugInOpcodeOpenEditor,
+ plugInOpcodeCloseEditor,
+ plugInOpcodeDrawEditor,
+ plugInOpcodeGetMouse,
+ plugInOpcodeEditorIdle = plugInOpcodeGetMouse + 2,
+ plugInOpcodeeffEditorTop,
+ plugInOpcodeSleepEditor,
+ plugInOpcodeIdentify,
+ plugInOpcodeGetData,
+ plugInOpcodeSetData,
+ plugInOpcodePreAudioProcessingEvents,
+ plugInOpcodeIsParameterAutomatable,
+ plugInOpcodeParameterValueForText,
+ plugInOpcodeGetProgramName = plugInOpcodeParameterValueForText + 2,
+ plugInOpcodeConnectInput = plugInOpcodeGetProgramName + 2,
+ plugInOpcodeConnectOutput,
+ plugInOpcodeGetInputPinProperties,
+ plugInOpcodeGetOutputPinProperties,
+ plugInOpcodeGetPlugInCategory,
+ plugInOpcodeSetSpeakerConfiguration = plugInOpcodeGetPlugInCategory + 7,
+ plugInOpcodeSetBypass = plugInOpcodeSetSpeakerConfiguration + 2,
+ plugInOpcodeGetPlugInName,
+ plugInOpcodeGetManufacturerName = plugInOpcodeGetPlugInName + 2,
+ plugInOpcodeGetManufacturerProductName,
+ plugInOpcodeGetManufacturerVersion,
+ plugInOpcodeManufacturerSpecific,
+ plugInOpcodeCanPlugInDo,
+ plugInOpcodeGetTailSize,
+ plugInOpcodeIdle,
+ plugInOpcodeKeyboardFocusRequired = plugInOpcodeIdle + 4,
+ plugInOpcodeGetVstInterfaceVersion,
+ plugInOpcodeGetCurrentMidiProgram = plugInOpcodeGetVstInterfaceVersion + 5,
+ plugInOpcodeGetSpeakerArrangement = plugInOpcodeGetCurrentMidiProgram + 6,
+ plugInOpcodeNextPlugInUniqueID,
+ plugInOpcodeStartProcess,
+ plugInOpcodeStopProcess,
+ plugInOpcodeSetNumberOfSamplesToProcess,
+ plugInOpcodeSetSampleFloatType = plugInOpcodeSetNumberOfSamplesToProcess + 4,
+ pluginOpcodeGetNumMidiInputChannels,
+ pluginOpcodeGetNumMidiOutputChannels,
+ plugInOpcodeMaximum = pluginOpcodeGetNumMidiOutputChannels
+
+ , effOpen = plugInOpcodeOpen
+ , effClose = plugInOpcodeClose
+ , effSetProgram = plugInOpcodeSetCurrentProgram
+ , effGetProgram = plugInOpcodeGetCurrentProgram
+ , effSetProgramName = plugInOpcodeSetCurrentProgramName
+ , effGetProgramName = plugInOpcodeGetCurrentProgramName
+ , effGetParamLabel = plugInOpcodeGetParameterLabel
+ , effGetParamDisplay = plugInOpcodeGetParameterText
+ , effGetParamName = plugInOpcodeGetParameterName
+ , effSetSampleRate = plugInOpcodeSetSampleRate
+ , effSetBlockSize = plugInOpcodeSetBlockSize
+ , effMainsChanged = plugInOpcodeResumeSuspend
+ , effEditGetRect = plugInOpcodeGetEditorBounds
+ , effEditOpen = plugInOpcodeOpenEditor
+ , effEditClose = plugInOpcodeCloseEditor
+ , effIdentify = plugInOpcodeIdentify
+ , effGetChunk = plugInOpcodeGetData
+ , effSetChunk = plugInOpcodeSetData
+ , effProcessEvents = plugInOpcodePreAudioProcessingEvents
+ , effCanBeAutomated = plugInOpcodeIsParameterAutomatable
+ , effString2Parameter = plugInOpcodeParameterValueForText
+ , effGetProgramNameIndexed = plugInOpcodeGetProgramName
+ , effGetInputProperties = plugInOpcodeGetInputPinProperties
+ , effGetOutputProperties = plugInOpcodeGetOutputPinProperties
+ , effGetPlugCategory = plugInOpcodeGetPlugInCategory
+ , effSetSpeakerArrangement = plugInOpcodeSetSpeakerConfiguration
+ , effSetBypass = plugInOpcodeSetBypass
+ , effGetEffectName = plugInOpcodeGetPlugInName
+ , effGetProductString = plugInOpcodeGetManufacturerProductName
+ , effGetVendorString = plugInOpcodeGetManufacturerName
+ , effGetVendorVersion = plugInOpcodeGetManufacturerVersion
+ , effVendorSpecific = plugInOpcodeManufacturerSpecific
+ , effCanDo = plugInOpcodeCanPlugInDo
+ , effGetTailSize = plugInOpcodeGetTailSize
+ , effKeysRequired = plugInOpcodeKeyboardFocusRequired
+ , effGetVstVersion = plugInOpcodeGetVstInterfaceVersion
+ , effGetCurrentMidiProgram = plugInOpcodeGetCurrentMidiProgram
+ , effGetSpeakerArrangement = plugInOpcodeGetSpeakerArrangement
+ , effSetTotalSampleToProcess = plugInOpcodeSetNumberOfSamplesToProcess
+ , effSetProcessPrecision = plugInOpcodeSetSampleFloatType
+ , effGetNumMidiInputChannels = pluginOpcodeGetNumMidiInputChannels
+ , effGetNumMidiOutputChannels = pluginOpcodeGetNumMidiOutputChannels
+
+ , effConnectInput = plugInOpcodeConnectInput
+ , effConnectOutput = plugInOpcodeConnectOutput
+ , effEditIdle = plugInOpcodeEditorIdle
+ , effIdle = plugInOpcodeIdle
+ , effShellGetNextPlugin = plugInOpcodeNextPlugInUniqueID
+ , effStartProcess = plugInOpcodeStartProcess
+ , effStopProcess = plugInOpcodeStopProcess
+};
+
+
+enum VstPlugInToHostOpcodes
+{
+ hostOpcodeParameterChanged,
+ hostOpcodeVstVersion,
+ hostOpcodeCurrentId,
+ hostOpcodeIdle,
+ hostOpcodePinConnected,
+ hostOpcodePlugInWantsMidi = hostOpcodePinConnected + 2,
+ hostOpcodeGetTimingInfo,
+ hostOpcodePreAudioProcessingEvents,
+ hostOpcodeSetTime,
+ hostOpcodeTempoAt,
+ hostOpcodeGetNumberOfAutomatableParameters,
+ hostOpcodeGetParameterInterval,
+ hostOpcodeIOModified,
+ hostOpcodeNeedsIdle,
+ hostOpcodeWindowSize,
+ hostOpcodeGetSampleRate,
+ hostOpcodeGetBlockSize,
+ hostOpcodeGetInputLatency,
+ hostOpcodeGetOutputLatency,
+ hostOpcodeGetPreviousPlugIn,
+ hostOpcodeGetNextPlugIn,
+ hostOpcodeWillReplace,
+ hostOpcodeGetCurrentAudioProcessingLevel,
+ hostOpcodeGetAutomationState,
+ hostOpcodeOfflineStart,
+ hostOpcodeOfflineReadSource,
+ hostOpcodeOfflineWrite,
+ hostOpcodeOfflineGetCurrentPass,
+ hostOpcodeOfflineGetCurrentMetaPass,
+ hostOpcodeSetOutputSampleRate,
+ hostOpcodeGetOutputSpeakerConfiguration,
+ hostOpcodeGetManufacturerName,
+ hostOpcodeGetProductName,
+ hostOpcodeGetManufacturerVersion,
+ hostOpcodeManufacturerSpecific,
+ hostOpcodeSetIcon,
+ hostOpcodeCanHostDo,
+ hostOpcodeGetLanguage,
+ hostOpcodeOpenEditorWindow,
+ hostOpcodeCloseEditorWindow,
+ hostOpcodeGetDirectory,
+ hostOpcodeUpdateView,
+ hostOpcodeParameterChangeGestureBegin,
+ hostOpcodeParameterChangeGestureEnd
+
+ , audioMasterProcessEvents = hostOpcodePreAudioProcessingEvents
+ , audioMasterWantMidi = hostOpcodePlugInWantsMidi
+ , audioMasterVendorSpecific = hostOpcodeManufacturerSpecific
+ , audioMasterAutomate = hostOpcodeParameterChanged
+ , audioMasterBeginEdit = hostOpcodeParameterChangeGestureBegin
+ , audioMasterEndEdit = hostOpcodeParameterChangeGestureEnd
+ , audioMasterUpdateDisplay = hostOpcodeUpdateView
+ , audioMasterIOChanged = hostOpcodeIOModified
+ , audioMasterCanDo = hostOpcodeCanHostDo
+ , audioMasterGetCurrentProcessLevel = hostOpcodeGetCurrentAudioProcessingLevel
+ , audioMasterGetTime = hostOpcodeGetTimingInfo
+ , audioMasterSizeWindow = hostOpcodeWindowSize
+ , audioMasterVersion = hostOpcodeVstVersion
+
+ , audioMasterCloseWindow = hostOpcodeCloseEditorWindow
+ , audioMasterCurrentId = hostOpcodeCurrentId
+ , audioMasterGetAutomationState = hostOpcodeGetAutomationState
+ , audioMasterGetBlockSize = hostOpcodeGetBlockSize
+ , audioMasterGetDirectory = hostOpcodeGetDirectory
+ , audioMasterGetInputLatency = hostOpcodeGetInputLatency
+ , audioMasterGetLanguage = hostOpcodeGetLanguage
+ , audioMasterGetNextPlug = hostOpcodeGetNextPlugIn
+ , audioMasterGetNumAutomatableParameters = hostOpcodeGetNumberOfAutomatableParameters
+ , audioMasterGetOutputLatency = hostOpcodeGetOutputLatency
+ , audioMasterGetOutputSpeakerArrangement = hostOpcodeGetOutputSpeakerConfiguration
+ , audioMasterGetParameterQuantization = hostOpcodeGetParameterInterval
+ , audioMasterGetPreviousPlug = hostOpcodeGetPreviousPlugIn
+ , audioMasterGetProductString = hostOpcodeGetProductName
+ , audioMasterGetSampleRate = hostOpcodeGetSampleRate
+ , audioMasterGetVendorString = hostOpcodeGetManufacturerName
+ , audioMasterGetVendorVersion = hostOpcodeGetManufacturerVersion
+ , audioMasterIdle = hostOpcodeIdle
+ , audioMasterNeedIdle = hostOpcodeNeedsIdle
+ , audioMasterOfflineGetCurrentMetaPass = hostOpcodeOfflineGetCurrentMetaPass
+ , audioMasterOfflineGetCurrentPass = hostOpcodeOfflineGetCurrentPass
+ , audioMasterOfflineRead = hostOpcodeOfflineReadSource
+ , audioMasterOfflineStart = hostOpcodeOfflineStart
+ , audioMasterOfflineWrite = hostOpcodeOfflineWrite
+ , audioMasterOpenWindow = hostOpcodeOpenEditorWindow
+ , audioMasterPinConnected = hostOpcodePinConnected
+ , audioMasterSetIcon = hostOpcodeSetIcon
+ , audioMasterSetOutputSampleRate = hostOpcodeSetOutputSampleRate
+ , audioMasterSetTime = hostOpcodeSetTime
+ , audioMasterTempoAt = hostOpcodeTempoAt
+ , audioMasterWillReplaceOrAccumulate = hostOpcodeWillReplace
+
+};
+typedef enum VstPlugInToHostOpcodes AudioMasterOpcodesX;
+
+//==============================================================================
+enum VstProcessingSampleType
+{
+ vstProcessingSampleTypeFloat,
+ vstProcessingSampleTypeDouble
+
+ , kVstProcessPrecision32 = vstProcessingSampleTypeFloat
+ , kVstProcessPrecision64 = vstProcessingSampleTypeDouble
+};
+
+//==============================================================================
+// These names must be identical to the Steinberg SDK so JUCE users can set
+// exactly what they want.
+typedef enum VstPlugInCategory
+{
+ kPlugCategUnknown,
+ kPlugCategEffect,
+ kPlugCategSynth,
+ kPlugCategAnalysis,
+ kPlugCategMastering,
+ kPlugCategSpacializer,
+ kPlugCategRoomFx,
+ kPlugSurroundFx,
+ kPlugCategRestoration,
+ kPlugCategOfflineProcess,
+ kPlugCategShell,
+ kPlugCategGenerator
+} VstPlugCategory;
+
+//==============================================================================
+/** Structure used for VSTs
+
+ @tags{Audio}
+*/
+struct VstEditorBounds
+{
+ int16 upper;
+ int16 leftmost;
+ int16 lower;
+ int16 rightmost;
+};
+struct ERect {
+ int16 top;
+ int16 left;
+ int16 bottom;
+ int16 right;
+};
+
+//==============================================================================
+enum VstMaxStringLengths
+{
+ vstMaxNameLength = 64,
+ vstMaxParameterOrPinLabelLength = 64,
+ vstMaxParameterOrPinShortLabelLength = 8,
+ vstMaxCategoryLength = 24,
+ vstMaxManufacturerStringLength = 64,
+ vstMaxPlugInNameStringLength = 64
+
+ , kVstMaxLabelLen = vstMaxParameterOrPinLabelLength
+ , kVstMaxShortLabelLen = vstMaxParameterOrPinShortLabelLength
+ , kVstMaxProductStrLen = vstMaxPlugInNameStringLength
+ , kVstMaxVendorStrLen = vstMaxManufacturerStringLength
+};
+
+//==============================================================================
+/** Structure used for VSTs
+
+ @tags{Audio}
+*/
+struct VstPinInfo
+{
+ char text[vstMaxParameterOrPinLabelLength];
+ int32 flags;
+ int32 configurationType;
+ char shortText[vstMaxParameterOrPinShortLabelLength];
+ char unused[48];
+};
+struct VstPinProperties
+{
+ char label[vstMaxParameterOrPinLabelLength];
+ int32 flags;
+ int32 arrangementType;
+ char shortLabel[vstMaxParameterOrPinShortLabelLength];
+ char unused[48];
+};
+
+enum VstPinInfoFlags
+{
+ vstPinInfoFlagIsActive = 1,
+ vstPinInfoFlagIsStereo = 2,
+ vstPinInfoFlagValid = 4
+
+ , kVstPinIsActive = vstPinInfoFlagIsActive
+ , kVstPinUseSpeaker = vstPinInfoFlagValid
+ , kVstPinIsStereo = vstPinInfoFlagIsStereo
+};
+
+//==============================================================================
+/** Structure used for VSTs
+
+ @tags{Audio}
+*/
+struct VstEvent
+{
+ int32 type;
+ int32 byteSize; // size;
+ int32 deltaFrames; //? sampleOffset;
+ int32 flags;
+ char content[16];
+};
+
+enum VstEventTypes
+{
+ vstMidiEventType = 1,
+ vstSysExEventType = 6,
+ kVstMidiType = vstMidiEventType,
+ kVstSysExType = vstSysExEventType
+};
+
+/** Structure used for VSTs
+
+ @tags{Audio}
+*/
+struct VstEvents
+{
+ int32 numEvents;
+ pointer_sized_int future;
+ VstEvent* events[2];
+};
+
+/** Structure used for VSTs
+
+ @tags{Audio}
+*/
+struct VstMidiEvent
+{
+ int32 type;
+ int32 byteSize; // size;
+ int32 deltaFrames; //? sampleOffset;
+ int32 flags;
+ int32 noteLength; // noteSampleLength;
+ int32 noteOffset; // noteSampleOffset;
+ char midiData[4];
+ char detune; // tuning;
+ char noteOffVelocity; // noteVelocityOff;
+ char future1;
+ char future2;
+};
+
+enum VstMidiEventFlags
+{
+ vstMidiEventIsRealtime = 1
+};
+
+/** Structure used for VSTs
+
+ @tags{Audio}
+*/
+struct VstSysExEvent
+{
+ int32 type;
+ int32 byteSize; // size;
+ int32 deltaFrames; //? offsetSamples;
+ int32 flags;
+ int32 dumpBytes; // sysExDumpSize;
+ pointer_sized_int resvd1; // future1;
+ char* sysexDump; // sysExDump;
+ pointer_sized_int resvd2; // future2;
+};
+typedef VstSysExEvent VstMidiSysexEvent;
+
+//==============================================================================
+/** Structure used for VSTs
+
+ @tags{Audio}
+*/
+struct VstTimingInformation
+{
+ double samplePosition;
+ double sampleRate;
+ double systemTimeNanoseconds;
+ double musicalPosition;
+ double tempoBPM;
+ double lastBarPosition;
+ double loopStartPosition;
+ double loopEndPosition;
+ int32 timeSignatureNumerator;
+ int32 timeSignatureDenominator;
+ int32 smpteOffset;
+ int32 smpteRate;
+ int32 samplesToNearestClock;
+ int32 flags;
+};
+struct VstTimeInfo
+{
+ double samplePos;
+ double sampleRate;
+ double systemTimeNanoseconds;
+ double ppqPos;
+ double tempo;
+ double barStartPos;
+ double cycleStartPos;
+ double cycleEndPos;
+ int32 timeSigNumerator;
+ int32 timeSigDenominator;
+ int32 smpteOffset;
+ int32 smpteFrameRate;
+ int32 samplesToNearestClock;
+ int32 flags;
+};
+
+enum VstTimingInformationFlags
+{
+ vstTimingInfoFlagTransportChanged = 1,
+ vstTimingInfoFlagCurrentlyPlaying = 2,
+ vstTimingInfoFlagLoopActive = 4,
+ vstTimingInfoFlagCurrentlyRecording = 8,
+ vstTimingInfoFlagAutomationWriteModeActive = 64,
+ vstTimingInfoFlagAutomationReadModeActive = 128,
+ vstTimingInfoFlagNanosecondsValid = 256,
+ vstTimingInfoFlagMusicalPositionValid = 512,
+ vstTimingInfoFlagTempoValid = 1024,
+ vstTimingInfoFlagLastBarPositionValid = 2048,
+ vstTimingInfoFlagLoopPositionValid = 4096,
+ vstTimingInfoFlagTimeSignatureValid = 8192,
+ vstTimingInfoFlagSmpteValid = 16384,
+ vstTimingInfoFlagNearestClockValid = 32768
+
+ , kVstTransportPlaying = vstTimingInfoFlagCurrentlyPlaying
+ , kVstTransportCycleActive = vstTimingInfoFlagLoopActive
+ , kVstTransportRecording = vstTimingInfoFlagCurrentlyRecording
+ , kVstPpqPosValid = vstTimingInfoFlagMusicalPositionValid
+ , kVstTempoValid = vstTimingInfoFlagTempoValid
+ , kVstBarsValid = vstTimingInfoFlagLastBarPositionValid
+ , kVstCyclePosValid = vstTimingInfoFlagLoopPositionValid
+ , kVstTimeSigValid = vstTimingInfoFlagTimeSignatureValid
+ , kVstSmpteValid = vstTimingInfoFlagSmpteValid
+ , kVstClockValid = vstTimingInfoFlagNearestClockValid
+
+ , kVstAutomationReading = vstTimingInfoFlagAutomationReadModeActive
+ , kVstAutomationWriting = vstTimingInfoFlagAutomationWriteModeActive
+ , kVstNanosValid = vstTimingInfoFlagNanosecondsValid
+ , kVstTransportChanged = vstTimingInfoFlagTransportChanged
+};
+
+//==============================================================================
+enum VstSmpteRates
+{
+ vstSmpteRateFps24,
+ vstSmpteRateFps25,
+ vstSmpteRateFps2997,
+ vstSmpteRateFps30,
+ vstSmpteRateFps2997drop,
+ vstSmpteRateFps30drop,
+
+ vstSmpteRate16mmFilm,
+ vstSmpteRate35mmFilm,
+
+ vstSmpteRateFps239 = vstSmpteRate35mmFilm + 3,
+ vstSmpteRateFps249,
+ vstSmpteRateFps599,
+ vstSmpteRateFps60
+
+ , kVstSmpte239fps = vstSmpteRateFps239
+ , kVstSmpte24fps = vstSmpteRateFps24
+ , kVstSmpte25fps = vstSmpteRateFps25
+ , kVstSmpte2997fps = vstSmpteRateFps2997
+ , kVstSmpte30fps = vstSmpteRateFps30
+ , kVstSmpte2997dfps = vstSmpteRateFps2997drop
+ , kVstSmpte30dfps = vstSmpteRateFps30drop
+ , kVstSmpteFilm16mm = vstSmpteRate16mmFilm
+ , kVstSmpteFilm35mm = vstSmpteRate35mmFilm
+ , kVstSmpte249fps = vstSmpteRateFps249
+ , kVstSmpte599fps = vstSmpteRateFps599
+ , kVstSmpte60fps = vstSmpteRateFps60
+};
+
+//==============================================================================
+/** Structure used for VSTs
+
+ @tags{Audio}
+*/
+struct VstIndividualSpeakerInfo
+{
+ float azimuthalAngle;
+ float elevationAngle;
+ float radius;
+ float reserved;
+ char label[vstMaxNameLength];
+ int32 type;
+ char unused[28];
+};
+typedef VstIndividualSpeakerInfo VstSpeakerProperties;
+
+enum VstIndividualSpeakerType
+{
+ vstIndividualSpeakerTypeUndefined = 0x7fffffff,
+ vstIndividualSpeakerTypeMono = 0,
+ vstIndividualSpeakerTypeLeft,
+ vstIndividualSpeakerTypeRight,
+ vstIndividualSpeakerTypeCentre,
+ vstIndividualSpeakerTypeLFE,
+ vstIndividualSpeakerTypeLeftSurround,
+ vstIndividualSpeakerTypeRightSurround,
+ vstIndividualSpeakerTypeLeftCentre,
+ vstIndividualSpeakerTypeRightCentre,
+ vstIndividualSpeakerTypeSurround,
+ vstIndividualSpeakerTypeCentreSurround = vstIndividualSpeakerTypeSurround,
+ vstIndividualSpeakerTypeLeftRearSurround,
+ vstIndividualSpeakerTypeRightRearSurround,
+ vstIndividualSpeakerTypeTopMiddle,
+ vstIndividualSpeakerTypeTopFrontLeft,
+ vstIndividualSpeakerTypeTopFrontCentre,
+ vstIndividualSpeakerTypeTopFrontRight,
+ vstIndividualSpeakerTypeTopRearLeft,
+ vstIndividualSpeakerTypeTopRearCentre,
+ vstIndividualSpeakerTypeTopRearRight,
+ vstIndividualSpeakerTypeLFE2
+
+ , kSpeakerL = vstIndividualSpeakerTypeLeft
+ , kSpeakerR = vstIndividualSpeakerTypeRight
+ , kSpeakerC = vstIndividualSpeakerTypeCentre
+ , kSpeakerLfe = vstIndividualSpeakerTypeLFE
+ , kSpeakerLs = vstIndividualSpeakerTypeLeftSurround
+ , kSpeakerRs = vstIndividualSpeakerTypeRightSurround
+ , kSpeakerLc = vstIndividualSpeakerTypeLeftCentre
+ , kSpeakerRc = vstIndividualSpeakerTypeRightCentre
+ , kSpeakerS = vstIndividualSpeakerTypeSurround
+ , kSpeakerSl = vstIndividualSpeakerTypeLeftRearSurround
+ , kSpeakerSr = vstIndividualSpeakerTypeRightRearSurround
+ , kSpeakerTm = vstIndividualSpeakerTypeTopMiddle
+ , kSpeakerTfl = vstIndividualSpeakerTypeTopFrontLeft
+ , kSpeakerTfc = vstIndividualSpeakerTypeTopFrontCentre
+ , kSpeakerTfr = vstIndividualSpeakerTypeTopFrontRight
+ , kSpeakerTrl = vstIndividualSpeakerTypeTopRearLeft
+ , kSpeakerTrc = vstIndividualSpeakerTypeTopRearCentre
+ , kSpeakerTrr = vstIndividualSpeakerTypeTopRearRight
+ , kSpeakerLfe2 = vstIndividualSpeakerTypeLFE2
+};
+
+/** Structure used for VSTs
+
+ @tags{Audio}
+*/
+struct VstSpeakerConfiguration
+{
+ int32 type;
+ int32 numChannels; // numberOfChannels;
+ VstIndividualSpeakerInfo speakers[8];
+};
+typedef VstSpeakerConfiguration VstSpeakerArrangement;
+
+enum VstSpeakerConfigurationType
+{
+ vstSpeakerConfigTypeUser = -2,
+ vstSpeakerConfigTypeEmpty = -1,
+ vstSpeakerConfigTypeMono = 0,
+ vstSpeakerConfigTypeLR,
+ vstSpeakerConfigTypeLsRs,
+ vstSpeakerConfigTypeLcRc,
+ vstSpeakerConfigTypeSlSr,
+ vstSpeakerConfigTypeCLfe,
+ vstSpeakerConfigTypeLRC,
+ vstSpeakerConfigTypeLRS,
+ vstSpeakerConfigTypeLRCLfe,
+ vstSpeakerConfigTypeLRLfeS,
+ vstSpeakerConfigTypeLRCS,
+ vstSpeakerConfigTypeLRLsRs,
+ vstSpeakerConfigTypeLRCLfeS,
+ vstSpeakerConfigTypeLRLfeLsRs,
+ vstSpeakerConfigTypeLRCLsRs,
+ vstSpeakerConfigTypeLRCLfeLsRs,
+ vstSpeakerConfigTypeLRCLsRsCs,
+ vstSpeakerConfigTypeLRLsRsSlSr,
+ vstSpeakerConfigTypeLRCLfeLsRsCs,
+ vstSpeakerConfigTypeLRLfeLsRsSlSr,
+ vstSpeakerConfigTypeLRCLsRsLcRc,
+ vstSpeakerConfigTypeLRCLsRsSlSr,
+ vstSpeakerConfigTypeLRCLfeLsRsLcRc,
+ vstSpeakerConfigTypeLRCLfeLsRsSlSr,
+ vstSpeakerConfigTypeLRCLsRsLcRcCs,
+ vstSpeakerConfigTypeLRCLsRsCsSlSr,
+ vstSpeakerConfigTypeLRCLfeLsRsLcRcCs,
+ vstSpeakerConfigTypeLRCLfeLsRsCsSlSr,
+ vstSpeakerConfigTypeLRCLfeLsRsTflTfcTfrTrlTrrLfe2
+
+ , kSpeakerArrMono = vstSpeakerConfigTypeMono
+ , kSpeakerArrStereo = vstSpeakerConfigTypeLR
+ , kSpeakerArrStereoCLfe = vstSpeakerConfigTypeCLfe
+ , kSpeakerArrStereoCenter = vstSpeakerConfigTypeLcRc
+ , kSpeakerArrStereoSide = vstSpeakerConfigTypeSlSr
+ , kSpeakerArrStereoSurround = vstSpeakerConfigTypeLsRs
+ , kSpeakerArr30Cine = vstSpeakerConfigTypeLRC
+ , kSpeakerArr31Cine = vstSpeakerConfigTypeLRCLfe
+ , kSpeakerArr40Cine = vstSpeakerConfigTypeLRCS
+ , kSpeakerArr41Cine = vstSpeakerConfigTypeLRCLfeS
+ , kSpeakerArr60Cine = vstSpeakerConfigTypeLRCLsRsCs
+ , kSpeakerArr61Cine = vstSpeakerConfigTypeLRCLfeLsRsCs
+ , kSpeakerArr70Cine = vstSpeakerConfigTypeLRCLsRsLcRc // create7point0SDDS
+ , kSpeakerArr71Cine = vstSpeakerConfigTypeLRCLfeLsRsLcRc
+ , kSpeakerArr80Cine = vstSpeakerConfigTypeLRCLsRsLcRcCs
+ , kSpeakerArr81Cine = vstSpeakerConfigTypeLRCLfeLsRsLcRcCs
+ , kSpeakerArr30Music = vstSpeakerConfigTypeLRS
+ , kSpeakerArr31Music = vstSpeakerConfigTypeLRLfeS
+ , kSpeakerArr40Music = vstSpeakerConfigTypeLRLsRs
+ , kSpeakerArr41Music = vstSpeakerConfigTypeLRLfeLsRs
+ , kSpeakerArr60Music = vstSpeakerConfigTypeLRLsRsSlSr
+ , kSpeakerArr61Music = vstSpeakerConfigTypeLRLfeLsRsSlSr
+ , kSpeakerArr70Music = vstSpeakerConfigTypeLRCLsRsSlSr // create7point0
+ , kSpeakerArr71Music = vstSpeakerConfigTypeLRCLfeLsRsSlSr
+ , kSpeakerArr80Music = vstSpeakerConfigTypeLRCLsRsCsSlSr
+ , kSpeakerArr81Music = vstSpeakerConfigTypeLRCLfeLsRsCsSlSr
+ , kSpeakerArr50 = vstSpeakerConfigTypeLRCLsRs
+ , kSpeakerArr51 = vstSpeakerConfigTypeLRCLfeLsRs
+ , kSpeakerArr102 = vstSpeakerConfigTypeLRCLfeLsRsTflTfcTfrTrlTrrLfe2
+ , kSpeakerArrEmpty = vstSpeakerConfigTypeEmpty
+ , kSpeakerArrUserDefined = vstSpeakerConfigTypeUser
+};
+
+#if JUCE_BIG_ENDIAN
+ #define JUCE_MULTICHAR_CONSTANT(a, b, c, d) (a | (((uint32) b) << 8) | (((uint32) c) << 16) | (((uint32) d) << 24))
+#else
+ #define JUCE_MULTICHAR_CONSTANT(a, b, c, d) (d | (((uint32) c) << 8) | (((uint32) b) << 16) | (((uint32) a) << 24))
+#endif
+
+enum PresonusExtensionConstants
+{
+ presonusVendorID = JUCE_MULTICHAR_CONSTANT ('P', 'r', 'e', 'S'),
+ presonusSetContentScaleFactor = JUCE_MULTICHAR_CONSTANT ('A', 'e', 'C', 's')
+};
+
+//==============================================================================
+/** Structure used for VSTs
+
+ @tags{Audio}
+*/
+struct vst2FxBank
+{
+ int32 magic1;
+ int32 size;
+ int32 magic2;
+ int32 version1;
+ int32 fxID;
+ int32 version2;
+ int32 elements;
+ int32 current;
+ char shouldBeZero[124];
+ int32 chunkSize;
+ char chunk[1];
+};
+
+#if JUCE_MSVC
+ #pragma pack(pop)
+#elif JUCE_MAC || JUCE_IOS
+ #pragma options align=reset
+#else
+ #pragma pack(pop)
+#endif
More information about the arch-commits
mailing list