[arch-commits] Commit in juce/repos/community-x86_64 (18 files)

David Runge dvzrv at gemini.archlinux.org
Tue Aug 16 16:55:11 UTC 2022


    Date: Tuesday, August 16, 2022 @ 16:55:11
  Author: dvzrv
Revision: 1266647

archrelease: copy trunk to community-x86_64

Added:
  juce/repos/community-x86_64/PKGBUILD
    (from rev 1266646, juce/trunk/PKGBUILD)
  juce/repos/community-x86_64/juce-6.1.2-cmake_install.patch
    (from rev 1266646, juce/trunk/juce-6.1.2-cmake_install.patch)
  juce/repos/community-x86_64/juce-6.1.2-cmake_juce_utils.patch
    (from rev 1266646, juce/trunk/juce-6.1.2-cmake_juce_utils.patch)
  juce/repos/community-x86_64/juce-6.1.2-devendor_libs.patch
    (from rev 1266646, juce/trunk/juce-6.1.2-devendor_libs.patch)
  juce/repos/community-x86_64/juce-6.1.2-fst_vst.patch
    (from rev 1266646, 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 1266646, 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 1266646, 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 1266646, juce/trunk/juce-6.1.3-cmake_link_against_system_deps.patch)
  juce/repos/community-x86_64/juce_VSTInterface.h
    (from rev 1266646, 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-08-16 16:54:39 UTC (rev 1266646)
+++ PKGBUILD	2022-08-16 16:55:11 UTC (rev 1266647)
@@ -1,116 +0,0 @@
-# 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/"
-}

Copied: juce/repos/community-x86_64/PKGBUILD (from rev 1266646, juce/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2022-08-16 16:55:11 UTC (rev 1266647)
@@ -0,0 +1,116 @@
+# Maintainer: David Runge <dvzrv at archlinux.org>
+
+_name=JUCE
+pkgbase=juce
+pkgname=(juce juce-docs)
+pkgver=7.0.2
+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=('0d81b8b68784268b0b8b23bb79c98a2b0bde6770272a2aa6e33a2f22a208e48601423f4fad9477137de925a97c93dc29b7ae5b8466a7a7687027c72e50195c6e'
+            '52aba043ad3e5154b67f4d140f1d1e936962325763b47bbec57e1ef0a9cccbe6fa0b99598a756cb76853b5c1c5084b32055fc6a76f992b10323d867c82023399'
+            '91ef9ced3a72db3b24d5892149cb3ac19fd132a0cc48a36afe1664864e7deb4928a3a19a92aee11f277beccbb8e500e4fa1aba74d77a52b3517ce4bb429904c6'
+            '8d5105e7ea0977cba598c13e53708ca88cdea52c3fc92cca8849eb4e64209d4902d8eef6a1bda0894138f2e1fe4247156b1d39e74207d978534768f92490f2e8'
+            'ccec528a1daaf255a4686dad2d59314adab03a935a79893b04a8f04256179a2b1ba84fa563fd6781b314b9d2fc1ddf4892576f77d748e40577747013b3a60bc3'
+            'dddf5510f9391fc663db29174215e9575e9ec3956bb649c8a83564b0dcfa1202cc430fadd8faafa390b45c3a2e79ba75e3cdfb118db1e5c35836fad954b67e32'
+            '2e1b823d9e5611e2c9efa1459f309f9add76d163411bb32cbd8c93f9751c6b97842af430f866f9ebce02d7602a655fd1f9d62f0530e5dc4d2621cbbd5444aad8'
+            '766b761bf60a09fd01e9e6422df5b34c5305d41672b82b2c54819c581a952af5d7c8c39868c8615b57b14f772624bae4545ec878f2098ab5b8afb2ecf59146a1'
+            '36a244740872cd203db3e1cebba5a5e245a3300a8c6c76046455ecc38083348f069987d0cba8f569390b4f0ba855799b8ff559cb540f02382b67a46d5b9cc420')
+b2sums=('624282c0e324078be4fa8cbaaca8e3cc09642bec74432fdf92dd9115a234c849cbdc0519c874aaf15f8727c8196985ccf6c9cf6ba0574743a6cf35fd050970ac'
+        '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-08-16 16:54:39 UTC (rev 1266646)
+++ juce-6.1.2-cmake_install.patch	2022-08-16 16:55:11 UTC (rev 1266647)
@@ -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 1266646, 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-08-16 16:55:11 UTC (rev 1266647)
@@ -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-08-16 16:54:39 UTC (rev 1266646)
+++ juce-6.1.2-cmake_juce_utils.patch	2022-08-16 16:55:11 UTC (rev 1266647)
@@ -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 1266646, 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-08-16 16:55:11 UTC (rev 1266647)
@@ -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-08-16 16:54:39 UTC (rev 1266646)
+++ juce-6.1.2-devendor_libs.patch	2022-08-16 16:55:11 UTC (rev 1266647)
@@ -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 1266646, 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-08-16 16:55:11 UTC (rev 1266647)
@@ -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-08-16 16:54:39 UTC (rev 1266646)
+++ juce-6.1.2-fst_vst.patch	2022-08-16 16:55:11 UTC (rev 1266647)
@@ -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 1266646, 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-08-16 16:55:11 UTC (rev 1266647)
@@ -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-08-16 16:54:39 UTC (rev 1266646)
+++ juce-6.1.2-projucer_disable_update_check.patch	2022-08-16 16:55:11 UTC (rev 1266647)
@@ -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 1266646, 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-08-16 16:55:11 UTC (rev 1266647)
@@ -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-08-16 16:54:39 UTC (rev 1266646)
+++ juce-6.1.2-projucer_juce_paths.patch	2022-08-16 16:55:11 UTC (rev 1266647)
@@ -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 1266646, 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-08-16 16:55:11 UTC (rev 1266647)
@@ -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-08-16 16:54:39 UTC (rev 1266646)
+++ juce-6.1.3-cmake_link_against_system_deps.patch	2022-08-16 16:55:11 UTC (rev 1266647)
@@ -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 1266646, 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-08-16 16:55:11 UTC (rev 1266647)
@@ -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-08-16 16:54:39 UTC (rev 1266646)
+++ juce_VSTInterface.h	2022-08-16 16:55:11 UTC (rev 1266647)
@@ -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 1266646, juce/trunk/juce_VSTInterface.h)
===================================================================
--- juce_VSTInterface.h	                        (rev 0)
+++ juce_VSTInterface.h	2022-08-16 16:55:11 UTC (rev 1266647)
@@ -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