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

David Runge dvzrv at archlinux.org
Mon Feb 10 17:42:29 UTC 2020


    Date: Monday, February 10, 2020 @ 17:42:27
  Author: dvzrv
Revision: 566171

archrelease: copy trunk to community-x86_64

Added:
  juce/repos/community-x86_64/PKGBUILD
    (from rev 566170, juce/trunk/PKGBUILD)
  juce/repos/community-x86_64/juce-5.4.5-disable_update_check.patch
    (from rev 566170, juce/trunk/juce-5.4.5-disable_update_check.patch)
  juce/repos/community-x86_64/juce-5.4.5-disable_usage_data.patch
    (from rev 566170, juce/trunk/juce-5.4.5-disable_usage_data.patch)
  juce/repos/community-x86_64/juce-5.4.5-fix_include_defines.patch
    (from rev 566170, juce/trunk/juce-5.4.5-fix_include_defines.patch)
  juce/repos/community-x86_64/juce-5.4.5-juce_vst.patch
    (from rev 566170, juce/trunk/juce-5.4.5-juce_vst.patch)
  juce/repos/community-x86_64/juce-5.4.5-jucepath.patch
    (from rev 566170, juce/trunk/juce-5.4.5-jucepath.patch)
  juce/repos/community-x86_64/juce-5.4.5-link_to_systemlibs.patch
    (from rev 566170, juce/trunk/juce-5.4.5-link_to_systemlibs.patch)
  juce/repos/community-x86_64/juce_VSTInterface.h
    (from rev 566170, juce/trunk/juce_VSTInterface.h)
Deleted:
  juce/repos/community-x86_64/PKGBUILD
  juce/repos/community-x86_64/juce-5.4.5-disable_update_check.patch
  juce/repos/community-x86_64/juce-5.4.5-disable_usage_data.patch
  juce/repos/community-x86_64/juce-5.4.5-fix_include_defines.patch
  juce/repos/community-x86_64/juce-5.4.5-juce_vst.patch
  juce/repos/community-x86_64/juce-5.4.5-jucepath.patch
  juce/repos/community-x86_64/juce-5.4.5-link_to_systemlibs.patch
  juce/repos/community-x86_64/juce_VSTInterface.h

---------------------------------------+
 PKGBUILD                              |  198 +--
 juce-5.4.5-disable_update_check.patch |   46 
 juce-5.4.5-disable_usage_data.patch   |   56 -
 juce-5.4.5-fix_include_defines.patch  |  212 ++--
 juce-5.4.5-juce_vst.patch             |  134 +-
 juce-5.4.5-jucepath.patch             |   44 
 juce-5.4.5-link_to_systemlibs.patch   |  138 +-
 juce_VSTInterface.h                   | 1626 ++++++++++++++++----------------
 8 files changed, 1227 insertions(+), 1227 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2020-02-10 17:42:12 UTC (rev 566170)
+++ PKGBUILD	2020-02-10 17:42:27 UTC (rev 566171)
@@ -1,99 +0,0 @@
-# Maintainer: David Runge <dvzrv at archlinux.org>
-
-_name=JUCE
-pkgname=juce
-pkgver=5.4.6
-pkgrel=1
-pkgdesc="Cross-platform C++ framework"
-arch=('x86_64')
-url="https://github.com/weareroli/juce/"
-license=('Apache' 'BSD' 'GPL3' 'ISC')
-depends=('atk' 'cairo' 'gcc-libs' 'gdk-pixbuf2' 'glib2' 'glibc' 'gtk3'
-'harfbuzz' 'libfreetype.so' 'libjpeg-turbo' 'libpng' 'libsoup' 'libx11'
-'libxext' 'libxinerama' 'pango' 'webkit2gtk' 'zlib')
-makedepends=('doxygen' 'gendesk' 'graphviz' 'python')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/weareroli/${pkgname}/archive/${pkgver}.tar.gz"
-        "$pkgname-5.4.5-disable_update_check.patch"
-        "$pkgname-5.4.5-disable_usage_data.patch"
-        "$pkgname-5.4.5-fix_include_defines.patch"
-        "$pkgname-5.4.5-link_to_systemlibs.patch"
-        "$pkgname-5.4.5-juce_vst.patch"
-        "$pkgname-5.4.5-jucepath.patch"
-        "${pkgname}_VSTInterface.h")
-sha512sums=('7ae705e54b1cc704b693856ef2d4e6950d3591d06ad3fcb26a335741000018b08d09cd4fa880446855debbc986bc7adea2d82a81d15791d7945c3b6a22a50051'
-            '5e7516d37deeb6faf9bd7ccf6b0da68f610992b9a4dfb8010baec1dba56cf2310c390c3d0876b5e2f30c89c69555ad34c088887a0254c59f121d2af38334b3d3'
-            '85ca210a4d904a00de0830385a9e103493d47981acdb24335494fddc4af3f8b89cc05d1935cc4695c9e136bce5f91c1568c2135a8fe4ce565f396c3ba0153460'
-            '69bc445275e88594ab6077285442bb3af97e2e4a7776f409d5e0ce2aae214a0eadedb82960c666ee45ea459f8ffb519873ecb0577eecf11e4728ee46e6ee042f'
-            '062197ee6860c2c9cf655131df042df536d0b9aab58b304ca35a9d335231932dc49d92cb439c347f3dc863fc60ae6ae2357fbca8d057b9ce3b06fdbf16ff05df'
-            '570c56d27824bba9e766a9f78aaf0c24f2273c98f7d08dc2bb4fdaf90a84bc6bfdaed44c7f3b3c94b845841ae4e970c0bc99407a9604313d77378d323a84443a'
-            'c7ad5fadedd09f6f810cc27736f0def236f3b107de00079fb24509fc27750b26225bed7e9b19b0fa9873d5dae7b686cd9929298bb0107fd44645aad1a69c9168'
-            '37c0e4610a3fb6b928f0e57460354e3bbc8e284279acc4ee6ef560c6a3a016f58122d6cdaf27a519a4cc2a7c5e2a258a38f5d6d3863ded4154b39d221ae02a9a')
-
-prepare() {
-  mv -v "${_name}-$pkgver" "$pkgname-$pkgver"
-  cd "$pkgname-$pkgver"
-  # setting juce path
-  patch -Np1 -i "../$pkgname-5.4.5-jucepath.patch"
-  # setting juce vst
-  patch -Np1 -i "../$pkgname-5.4.5-juce_vst.patch"
-  # disable checking for update in projucer
-  patch -Np1 -i "../$pkgname-5.4.5-disable_update_check.patch"
-  # disable sending usage data in projucer
-  patch -Np1 -i "../$pkgname-5.4.5-disable_usage_data.patch"
-  # fix include defines in projucer
-  patch -Np1 -i "../$pkgname-5.4.5-fix_include_defines.patch"
-  # link to system libs, if flac, jack, libogg, vorbis, libjpeg, libpng or zlib
-  # are in use
-  patch -Np1 -i "../$pkgname-5.4.5-link_to_systemlibs.patch"
-  # disabling -march=native
-  sed -e 's/\-march=native//g' \
-      -i extras/Projucer/Builds/LinuxMakefile/Makefile
-  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"
-  # devendor bundled sources for flac, libogg, vorbis, libjpeg, libpng and zlib
-  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() {
-  cd "$pkgname-$pkgver"
-  # enabling GPL mode via CPPFLAGS
-  CPPFLAGS+=" -DJUCER_ENABLE_GPL_MODE=1" \
-  LDFLAGS+=" $(pkg-config --libs libjpeg libpng zlib)" \
-  make -C extras/Projucer/Builds/LinuxMakefile/ V=1
-  cd doxygen
-  make
-}
-
-package() {
-  cd "$pkgname-$pkgver"
-  install -vDm 755 extras/Projucer/Builds/LinuxMakefile/build/Projucer \
-    -t "${pkgdir}/usr/bin"
-  # xdg desktop integration
-  install -vDm 644 *.desktop -t "${pkgdir}/usr/share/applications/"
-  install -vDm 644 examples/Assets/juce_icon.png \
-    "${pkgdir}/usr/share/icons/hicolor/512x512/apps/Projucer.png"
-  # modules
-  install -vDm 644 ChangeList.txt -t "${pkgdir}/usr/share/${pkgname}"
-  install -vdm 755 "${pkgdir}/usr/share/${pkgname}/modules"
-  cp -av modules/* "${pkgdir}/usr/share/${pkgname}/modules"
-  install -vDm 644 "../${pkgname}_VSTInterface.h" \
-    -t "${pkgdir}/usr/share/${pkgname}/modules/juce_audio_processors/format_types"
-  # docs
-  install -vdm 755 "${pkgdir}/usr/share/doc/${pkgname}/html"
-  cp -av doxygen/doc/* "${pkgdir}/usr/share/doc/${pkgname}/html"
-  install -vDm 644 {ChangeList.txt,README.md} \
-    -t "${pkgdir}/usr/share/doc/${pkgname}"
-  # license
-  install -vDm 644 LICENSE.md -t "${pkgdir}/usr/share/licenses/${pkgname}"
-}

Copied: juce/repos/community-x86_64/PKGBUILD (from rev 566170, juce/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2020-02-10 17:42:27 UTC (rev 566171)
@@ -0,0 +1,99 @@
+# Maintainer: David Runge <dvzrv at archlinux.org>
+
+_name=JUCE
+pkgname=juce
+pkgver=5.4.7
+pkgrel=1
+pkgdesc="Cross-platform C++ framework"
+arch=('x86_64')
+url="https://github.com/weareroli/juce/"
+license=('Apache' 'BSD' 'GPL3' 'ISC')
+depends=('atk' 'cairo' 'gcc-libs' 'gdk-pixbuf2' 'glib2' 'glibc' 'gtk3'
+'harfbuzz' 'libfreetype.so' 'libjpeg-turbo' 'libpng' 'libsoup' 'libx11'
+'libxext' 'libxinerama' 'pango' 'webkit2gtk' 'zlib')
+makedepends=('doxygen' 'gendesk' 'graphviz' 'python')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/weareroli/${pkgname}/archive/${pkgver}.tar.gz"
+        "$pkgname-5.4.5-disable_update_check.patch"
+        "$pkgname-5.4.5-disable_usage_data.patch"
+        "$pkgname-5.4.5-fix_include_defines.patch"
+        "$pkgname-5.4.5-link_to_systemlibs.patch"
+        "$pkgname-5.4.5-juce_vst.patch"
+        "$pkgname-5.4.5-jucepath.patch"
+        "${pkgname}_VSTInterface.h")
+sha512sums=('9aad52eb52ca457c37b1921c9e5a373f6fca0a026ccfac6a308c0031c586184c919c003502d9eb43c162018b53e8229773ac9959fc86c6b0081a7b392bff0a86'
+            '5e7516d37deeb6faf9bd7ccf6b0da68f610992b9a4dfb8010baec1dba56cf2310c390c3d0876b5e2f30c89c69555ad34c088887a0254c59f121d2af38334b3d3'
+            '85ca210a4d904a00de0830385a9e103493d47981acdb24335494fddc4af3f8b89cc05d1935cc4695c9e136bce5f91c1568c2135a8fe4ce565f396c3ba0153460'
+            '69bc445275e88594ab6077285442bb3af97e2e4a7776f409d5e0ce2aae214a0eadedb82960c666ee45ea459f8ffb519873ecb0577eecf11e4728ee46e6ee042f'
+            '062197ee6860c2c9cf655131df042df536d0b9aab58b304ca35a9d335231932dc49d92cb439c347f3dc863fc60ae6ae2357fbca8d057b9ce3b06fdbf16ff05df'
+            '570c56d27824bba9e766a9f78aaf0c24f2273c98f7d08dc2bb4fdaf90a84bc6bfdaed44c7f3b3c94b845841ae4e970c0bc99407a9604313d77378d323a84443a'
+            'c7ad5fadedd09f6f810cc27736f0def236f3b107de00079fb24509fc27750b26225bed7e9b19b0fa9873d5dae7b686cd9929298bb0107fd44645aad1a69c9168'
+            '37c0e4610a3fb6b928f0e57460354e3bbc8e284279acc4ee6ef560c6a3a016f58122d6cdaf27a519a4cc2a7c5e2a258a38f5d6d3863ded4154b39d221ae02a9a')
+
+prepare() {
+  mv -v "${_name}-$pkgver" "$pkgname-$pkgver"
+  cd "$pkgname-$pkgver"
+  # setting juce path
+  patch -Np1 -i "../$pkgname-5.4.5-jucepath.patch"
+  # setting juce vst
+  patch -Np1 -i "../$pkgname-5.4.5-juce_vst.patch"
+  # disable checking for update in projucer
+  patch -Np1 -i "../$pkgname-5.4.5-disable_update_check.patch"
+  # disable sending usage data in projucer
+  patch -Np1 -i "../$pkgname-5.4.5-disable_usage_data.patch"
+  # fix include defines in projucer
+  patch -Np1 -i "../$pkgname-5.4.5-fix_include_defines.patch"
+  # link to system libs, if flac, jack, libogg, vorbis, libjpeg, libpng or zlib
+  # are in use
+  patch -Np1 -i "../$pkgname-5.4.5-link_to_systemlibs.patch"
+  # disabling -march=native
+  sed -e 's/\-march=native//g' \
+      -i extras/Projucer/Builds/LinuxMakefile/Makefile
+  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"
+  # devendor bundled sources for flac, libogg, vorbis, libjpeg, libpng and zlib
+  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() {
+  cd "$pkgname-$pkgver"
+  # enabling GPL mode via CPPFLAGS
+  CPPFLAGS+=" -DJUCER_ENABLE_GPL_MODE=1" \
+  LDFLAGS+=" $(pkg-config --libs libjpeg libpng zlib)" \
+  make -C extras/Projucer/Builds/LinuxMakefile/ V=1
+  cd doxygen
+  make
+}
+
+package() {
+  cd "$pkgname-$pkgver"
+  install -vDm 755 extras/Projucer/Builds/LinuxMakefile/build/Projucer \
+    -t "${pkgdir}/usr/bin"
+  # xdg desktop integration
+  install -vDm 644 *.desktop -t "${pkgdir}/usr/share/applications/"
+  install -vDm 644 examples/Assets/juce_icon.png \
+    "${pkgdir}/usr/share/icons/hicolor/512x512/apps/Projucer.png"
+  # modules
+  install -vDm 644 ChangeList.txt -t "${pkgdir}/usr/share/${pkgname}"
+  install -vdm 755 "${pkgdir}/usr/share/${pkgname}/modules"
+  cp -av modules/* "${pkgdir}/usr/share/${pkgname}/modules"
+  install -vDm 644 "../${pkgname}_VSTInterface.h" \
+    -t "${pkgdir}/usr/share/${pkgname}/modules/juce_audio_processors/format_types"
+  # docs
+  install -vdm 755 "${pkgdir}/usr/share/doc/${pkgname}/html"
+  cp -av doxygen/doc/* "${pkgdir}/usr/share/doc/${pkgname}/html"
+  install -vDm 644 {ChangeList.txt,README.md} \
+    -t "${pkgdir}/usr/share/doc/${pkgname}"
+  # license
+  install -vDm 644 LICENSE.md -t "${pkgdir}/usr/share/licenses/${pkgname}"
+}

Deleted: juce-5.4.5-disable_update_check.patch
===================================================================
--- juce-5.4.5-disable_update_check.patch	2020-02-10 17:42:12 UTC (rev 566170)
+++ juce-5.4.5-disable_update_check.patch	2020-02-10 17:42:27 UTC (rev 566171)
@@ -1,23 +0,0 @@
-From: =?utf-8?q?IOhannes_m_zm=C3=B6lnig?= <umlaeute at debian.org>
-Date: Thu, 9 Nov 2017 00:00:00 +0100
-Subject: prevent Projucer from checking for updates
-
- The check-for-updates only makes sense for user-installed Projucer, not for
- the Debian packaged version.
-Forwarded: not-needed
----
- extras/Projucer/Source/Application/jucer_AutoUpdater.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
-index a54b527..2014b10 100644
---- a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
-+++ b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
-@@ -42,6 +42,7 @@ LatestVersionCheckerAndUpdater::~LatestVersionCheckerAndUpdater()
- 
- void LatestVersionCheckerAndUpdater::checkForNewVersion (bool showAlerts)
- {
-+    return; // DONT check for new versions on Debian
-     if (! isThreadRunning())
-     {
-         showAlertWindows = showAlerts;

Copied: juce/repos/community-x86_64/juce-5.4.5-disable_update_check.patch (from rev 566170, juce/trunk/juce-5.4.5-disable_update_check.patch)
===================================================================
--- juce-5.4.5-disable_update_check.patch	                        (rev 0)
+++ juce-5.4.5-disable_update_check.patch	2020-02-10 17:42:27 UTC (rev 566171)
@@ -0,0 +1,23 @@
+From: =?utf-8?q?IOhannes_m_zm=C3=B6lnig?= <umlaeute at debian.org>
+Date: Thu, 9 Nov 2017 00:00:00 +0100
+Subject: prevent Projucer from checking for updates
+
+ The check-for-updates only makes sense for user-installed Projucer, not for
+ the Debian packaged version.
+Forwarded: not-needed
+---
+ extras/Projucer/Source/Application/jucer_AutoUpdater.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
+index a54b527..2014b10 100644
+--- a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
++++ b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
+@@ -42,6 +42,7 @@ LatestVersionCheckerAndUpdater::~LatestVersionCheckerAndUpdater()
+ 
+ void LatestVersionCheckerAndUpdater::checkForNewVersion (bool showAlerts)
+ {
++    return; // DONT check for new versions on Debian
+     if (! isThreadRunning())
+     {
+         showAlertWindows = showAlerts;

Deleted: juce-5.4.5-disable_usage_data.patch
===================================================================
--- juce-5.4.5-disable_usage_data.patch	2020-02-10 17:42:12 UTC (rev 566170)
+++ juce-5.4.5-disable_usage_data.patch	2020-02-10 17:42:27 UTC (rev 566171)
@@ -1,28 +0,0 @@
-From: =?utf-8?q?IOhannes_m_zm=C3=B6lnig?= <umlaeute at debian.org>
-Date: Mon, 26 Mar 2018 00:00:00 +0200
-Subject: default to not-sending usage-data to ROLI
-
- we prefer to have privacy enabled by default...
-Forwarded: no
----
- .../Application/Windows/jucer_ApplicationUsageDataWindowComponent.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h b/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
-index c9a06df..6a48b68 100644
---- a/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
-+++ b/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
-@@ -69,10 +69,10 @@ public:
- 
-             auto* controller = ProjucerApplication::getApp().licenseController.get();
- 
--            if (controller != nullptr && controller->getState().applicationUsageDataState == LicenseState::ApplicationUsageData::disabled)
--                shareApplicationUsageDataToggle->setToggleState (false, dontSendNotification);
--            else
-+            if (controller != nullptr && controller->getState().applicationUsageDataState == LicenseState::ApplicationUsageData::enabled)
-                 shareApplicationUsageDataToggle->setToggleState (true, dontSendNotification);
-+            else
-+                shareApplicationUsageDataToggle->setToggleState (false, dontSendNotification);
- 
-             addAndMakeVisible (shareApplicationUsageDataLabel);
-             shareApplicationUsageDataLabel.setFont (Font (14.0f));

Copied: juce/repos/community-x86_64/juce-5.4.5-disable_usage_data.patch (from rev 566170, juce/trunk/juce-5.4.5-disable_usage_data.patch)
===================================================================
--- juce-5.4.5-disable_usage_data.patch	                        (rev 0)
+++ juce-5.4.5-disable_usage_data.patch	2020-02-10 17:42:27 UTC (rev 566171)
@@ -0,0 +1,28 @@
+From: =?utf-8?q?IOhannes_m_zm=C3=B6lnig?= <umlaeute at debian.org>
+Date: Mon, 26 Mar 2018 00:00:00 +0200
+Subject: default to not-sending usage-data to ROLI
+
+ we prefer to have privacy enabled by default...
+Forwarded: no
+---
+ .../Application/Windows/jucer_ApplicationUsageDataWindowComponent.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h b/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
+index c9a06df..6a48b68 100644
+--- a/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
++++ b/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
+@@ -69,10 +69,10 @@ public:
+ 
+             auto* controller = ProjucerApplication::getApp().licenseController.get();
+ 
+-            if (controller != nullptr && controller->getState().applicationUsageDataState == LicenseState::ApplicationUsageData::disabled)
+-                shareApplicationUsageDataToggle->setToggleState (false, dontSendNotification);
+-            else
++            if (controller != nullptr && controller->getState().applicationUsageDataState == LicenseState::ApplicationUsageData::enabled)
+                 shareApplicationUsageDataToggle->setToggleState (true, dontSendNotification);
++            else
++                shareApplicationUsageDataToggle->setToggleState (false, dontSendNotification);
+ 
+             addAndMakeVisible (shareApplicationUsageDataLabel);
+             shareApplicationUsageDataLabel.setFont (Font (14.0f));

Deleted: juce-5.4.5-fix_include_defines.patch
===================================================================
--- juce-5.4.5-fix_include_defines.patch	2020-02-10 17:42:12 UTC (rev 566170)
+++ juce-5.4.5-fix_include_defines.patch	2020-02-10 17:42:27 UTC (rev 566171)
@@ -1,106 +0,0 @@
-From: =?utf-8?q?IOhannes_m_zm=C3=B6lnig?= <umlaeute at debian.org>
-Date: Sun, 11 Feb 2018 00:00:00 +0100
-Subject: clamp a few defines to fixed values
-
- on Debian we only ever allow using the system provided libraries
- (zlib, flac, oggvorbis,...)
-Origin: Debian
-Forwarded: not-needed
----
- .../utility/juce_CheckSettingMacros.h              | 25 +++++++++++++++++
- modules/juce_core/juce_core.h                      | 32 +++++++++++++++++++++-
- 2 files changed, 56 insertions(+), 1 deletion(-)
-
-diff --git a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
-index b5278b1..4c0a9ba 100644
---- a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
-+++ b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
-@@ -24,6 +24,30 @@
-   ==============================================================================
- */
- 
-+/* Debian specific overrides */
-+#if JucePlugin_Build_LV2 && ! defined (JucePlugin_LV2URI)
-+# warning JUCE/Debian using default LV2URI
-+# define JucePlugin_LV2URI               JucePlugin_Name
-+#endif
-+
-+#if JucePlugin_Build_AU
-+# warning JUCE/Debian disabled AU support
-+# undef JucePlugin_Build_AU
-+# define JucePlugin_Build_AU 0
-+#endif
-+
-+#if JucePlugin_Build_RTAS
-+# warning JUCE/Debian disabled RTAS support
-+# undef JucePlugin_Build_RTAS
-+# define JucePlugin_Build_RTAS 0
-+#endif
-+
-+#if JucePlugin_Build_AAX
-+# warning JUCE/Debian disabled AAX support
-+# undef JucePlugin_Build_AAX
-+# define JucePlugin_Build_AAX 0
-+#endif
-+
- // The following checks should cause a compile error if you've forgotten to
- // define all your plugin settings properly..
- 
-@@ -40,6 +64,7 @@
- #endif
- #define JUCE_CHECKSETTINGMACROS_H
- 
-+
- #ifndef JucePlugin_IsSynth
-  #error "You need to define the JucePlugin_IsSynth value!"
- #endif
-diff --git a/modules/juce_core/juce_core.h b/modules/juce_core/juce_core.h
-index 9cd4146..e26e139 100644
---- a/modules/juce_core/juce_core.h
-+++ b/modules/juce_core/juce_core.h
-@@ -64,6 +64,36 @@
- 
- #include "system/juce_TargetPlatform.h"
- 
-+/** Debian specific constants
-+  - Debian, we don't use embedded libraries
-+*/
-+#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
-+/** Debian specifics END
-+*/
-+
- //==============================================================================
- /** Config: JUCE_FORCE_DEBUG
- 
-@@ -123,7 +153,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-5.4.5-fix_include_defines.patch (from rev 566170, juce/trunk/juce-5.4.5-fix_include_defines.patch)
===================================================================
--- juce-5.4.5-fix_include_defines.patch	                        (rev 0)
+++ juce-5.4.5-fix_include_defines.patch	2020-02-10 17:42:27 UTC (rev 566171)
@@ -0,0 +1,106 @@
+From: =?utf-8?q?IOhannes_m_zm=C3=B6lnig?= <umlaeute at debian.org>
+Date: Sun, 11 Feb 2018 00:00:00 +0100
+Subject: clamp a few defines to fixed values
+
+ on Debian we only ever allow using the system provided libraries
+ (zlib, flac, oggvorbis,...)
+Origin: Debian
+Forwarded: not-needed
+---
+ .../utility/juce_CheckSettingMacros.h              | 25 +++++++++++++++++
+ modules/juce_core/juce_core.h                      | 32 +++++++++++++++++++++-
+ 2 files changed, 56 insertions(+), 1 deletion(-)
+
+diff --git a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
+index b5278b1..4c0a9ba 100644
+--- a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
++++ b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
+@@ -24,6 +24,30 @@
+   ==============================================================================
+ */
+ 
++/* Debian specific overrides */
++#if JucePlugin_Build_LV2 && ! defined (JucePlugin_LV2URI)
++# warning JUCE/Debian using default LV2URI
++# define JucePlugin_LV2URI               JucePlugin_Name
++#endif
++
++#if JucePlugin_Build_AU
++# warning JUCE/Debian disabled AU support
++# undef JucePlugin_Build_AU
++# define JucePlugin_Build_AU 0
++#endif
++
++#if JucePlugin_Build_RTAS
++# warning JUCE/Debian disabled RTAS support
++# undef JucePlugin_Build_RTAS
++# define JucePlugin_Build_RTAS 0
++#endif
++
++#if JucePlugin_Build_AAX
++# warning JUCE/Debian disabled AAX support
++# undef JucePlugin_Build_AAX
++# define JucePlugin_Build_AAX 0
++#endif
++
+ // The following checks should cause a compile error if you've forgotten to
+ // define all your plugin settings properly..
+ 
+@@ -40,6 +64,7 @@
+ #endif
+ #define JUCE_CHECKSETTINGMACROS_H
+ 
++
+ #ifndef JucePlugin_IsSynth
+  #error "You need to define the JucePlugin_IsSynth value!"
+ #endif
+diff --git a/modules/juce_core/juce_core.h b/modules/juce_core/juce_core.h
+index 9cd4146..e26e139 100644
+--- a/modules/juce_core/juce_core.h
++++ b/modules/juce_core/juce_core.h
+@@ -64,6 +64,36 @@
+ 
+ #include "system/juce_TargetPlatform.h"
+ 
++/** Debian specific constants
++  - Debian, we don't use embedded libraries
++*/
++#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
++/** Debian specifics END
++*/
++
+ //==============================================================================
+ /** Config: JUCE_FORCE_DEBUG
+ 
+@@ -123,7 +153,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-5.4.5-juce_vst.patch
===================================================================
--- juce-5.4.5-juce_vst.patch	2020-02-10 17:42:12 UTC (rev 566170)
+++ juce-5.4.5-juce_vst.patch	2020-02-10 17:42:27 UTC (rev 566171)
@@ -1,67 +0,0 @@
-From: Debian Multimedia Maintainers <debian-multimedia at lists.debian.org>
-Date: Wed, 23 Oct 2019 09:44:36 +0200
-Subject: provide missing VST2 replacement header
-
-Last-Update: 2019-01-12
-
-backprted from the original JUCE-5.3.1 header
-Last-Update: 2019-01-12
----
- modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp          | 4 +---
- .../juce_audio_processors/format_types/juce_VSTPluginFormat.cpp    | 7 ++++---
- 2 files changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
-index 9b9a7f9..632677d 100644
---- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
-+++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
-@@ -101,8 +101,7 @@ namespace Vst2
- // 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"
- }
- 
- using namespace juce;
-@@ -124,7 +123,6 @@ using namespace juce;
-  #pragma pack (push, 8)
- #endif
- 
--#define JUCE_VSTINTERFACE_H_INCLUDED 1
- 
- #include "../utility/juce_IncludeModuleHeaders.h"
- #include "../utility/juce_FakeMouseMoveGenerator.h"
-diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
-index 85dfb78..ad0a8e5 100644
---- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
-+++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
-@@ -49,7 +49,6 @@
- #endif
- 
- #define VST_FORCE_DEPRECATED 0
--#define JUCE_VSTINTERFACE_H_INCLUDED 1
- 
- namespace Vst2
- {
-@@ -58,8 +57,7 @@ namespace Vst2
- // 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>
-+#include "../../juce_audio_processors/format_types/juce_VSTInterface.h"
- }
- 
- #include "juce_VSTCommon.h"
-@@ -81,6 +79,9 @@ namespace Vst2
- 
- #include "juce_VSTMidiEventList.h"
- 
-+#define resvd2 hostSpace2
-+#define nanoSeconds systemTimeNanoseconds
-+
- #if JUCE_MINGW
-  #ifndef WM_APPCOMMAND
-   #define WM_APPCOMMAND 0x0319

Copied: juce/repos/community-x86_64/juce-5.4.5-juce_vst.patch (from rev 566170, juce/trunk/juce-5.4.5-juce_vst.patch)
===================================================================
--- juce-5.4.5-juce_vst.patch	                        (rev 0)
+++ juce-5.4.5-juce_vst.patch	2020-02-10 17:42:27 UTC (rev 566171)
@@ -0,0 +1,67 @@
+From: Debian Multimedia Maintainers <debian-multimedia at lists.debian.org>
+Date: Wed, 23 Oct 2019 09:44:36 +0200
+Subject: provide missing VST2 replacement header
+
+Last-Update: 2019-01-12
+
+backprted from the original JUCE-5.3.1 header
+Last-Update: 2019-01-12
+---
+ modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp          | 4 +---
+ .../juce_audio_processors/format_types/juce_VSTPluginFormat.cpp    | 7 ++++---
+ 2 files changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
+index 9b9a7f9..632677d 100644
+--- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
++++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
+@@ -101,8 +101,7 @@ namespace Vst2
+ // 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"
+ }
+ 
+ using namespace juce;
+@@ -124,7 +123,6 @@ using namespace juce;
+  #pragma pack (push, 8)
+ #endif
+ 
+-#define JUCE_VSTINTERFACE_H_INCLUDED 1
+ 
+ #include "../utility/juce_IncludeModuleHeaders.h"
+ #include "../utility/juce_FakeMouseMoveGenerator.h"
+diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
+index 85dfb78..ad0a8e5 100644
+--- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
++++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
+@@ -49,7 +49,6 @@
+ #endif
+ 
+ #define VST_FORCE_DEPRECATED 0
+-#define JUCE_VSTINTERFACE_H_INCLUDED 1
+ 
+ namespace Vst2
+ {
+@@ -58,8 +57,7 @@ namespace Vst2
+ // 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>
++#include "../../juce_audio_processors/format_types/juce_VSTInterface.h"
+ }
+ 
+ #include "juce_VSTCommon.h"
+@@ -81,6 +79,9 @@ namespace Vst2
+ 
+ #include "juce_VSTMidiEventList.h"
+ 
++#define resvd2 hostSpace2
++#define nanoSeconds systemTimeNanoseconds
++
+ #if JUCE_MINGW
+  #ifndef WM_APPCOMMAND
+   #define WM_APPCOMMAND 0x0319

Deleted: juce-5.4.5-jucepath.patch
===================================================================
--- juce-5.4.5-jucepath.patch	2020-02-10 17:42:12 UTC (rev 566170)
+++ juce-5.4.5-jucepath.patch	2020-02-10 17:42:27 UTC (rev 566171)
@@ -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	2019-10-16 11:09:54.000000000 +0200
-+++ b/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp	2020-01-07 15:11:25.562748860 +0100
-@@ -381,15 +381,15 @@
- {
-     if (key == Ids::jucePath)
-     {
--        return (os == TargetOS::windows ? "C:\\JUCE" : "~/JUCE");
-+        return (os == TargetOS::windows ? "C:\\JUCE" : "/usr/share/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 || key == Ids::vst3Path)
-     {

Copied: juce/repos/community-x86_64/juce-5.4.5-jucepath.patch (from rev 566170, juce/trunk/juce-5.4.5-jucepath.patch)
===================================================================
--- juce-5.4.5-jucepath.patch	                        (rev 0)
+++ juce-5.4.5-jucepath.patch	2020-02-10 17:42:27 UTC (rev 566171)
@@ -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	2019-10-16 11:09:54.000000000 +0200
++++ b/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp	2020-01-07 15:11:25.562748860 +0100
+@@ -381,15 +381,15 @@
+ {
+     if (key == Ids::jucePath)
+     {
+-        return (os == TargetOS::windows ? "C:\\JUCE" : "~/JUCE");
++        return (os == TargetOS::windows ? "C:\\JUCE" : "/usr/share/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 || key == Ids::vst3Path)
+     {

Deleted: juce-5.4.5-link_to_systemlibs.patch
===================================================================
--- juce-5.4.5-link_to_systemlibs.patch	2020-02-10 17:42:12 UTC (rev 566170)
+++ juce-5.4.5-link_to_systemlibs.patch	2020-02-10 17:42:27 UTC (rev 566171)
@@ -1,69 +0,0 @@
-From: Debian Multimedia Maintainers <debian-multimedia at lists.debian.org>
-Date: Wed, 23 Oct 2019 09:44:36 +0200
-Subject: have Projucer link against the system libraries
-
-Origin: Debian
-Forwarded: no
-Last-Update: 2019-08-21
-
-since the Debian package has removed 3rd-party libraries (jpeg, png, flag,
-ogg/vorbis), we must use against the system libraries.
-Last-Update: 2019-08-21
----
- .../ProjectSaving/jucer_ProjectExport_Make.h       | 36 ++++++++++++++++++++++
- 1 file changed, 36 insertions(+)
-
-diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h
-index 88fd4f1..cdac636 100644
---- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h
-+++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h
-@@ -464,6 +464,39 @@ private:
-         if (isCurlEnabled() && ! isLoadCurlSymbolsLazilyEnabled())
-             packages.add ("libcurl");
- 
-+        // on Debian, a number of 3rd-party libs have been stripped away,
-+        // so we need to link to the 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.removeDuplicates (false);
- 
-         return packages;
-@@ -563,6 +596,9 @@ private:
-         StringArray result (linuxLibs);
- 
-         auto libraries = StringArray::fromTokens (getExternalLibrariesString(), ";", "\"'");
-+#ifdef DEBIAN_JUCERPROJECT_LIBS
-+        libraries.addArray(StringArray::fromTokens (DEBIAN_JUCERPROJECT_LIBS, ";", "\"'"));
-+#endif
-         libraries.removeEmptyStrings();
- 
-         for (auto& lib : libraries)

Copied: juce/repos/community-x86_64/juce-5.4.5-link_to_systemlibs.patch (from rev 566170, juce/trunk/juce-5.4.5-link_to_systemlibs.patch)
===================================================================
--- juce-5.4.5-link_to_systemlibs.patch	                        (rev 0)
+++ juce-5.4.5-link_to_systemlibs.patch	2020-02-10 17:42:27 UTC (rev 566171)
@@ -0,0 +1,69 @@
+From: Debian Multimedia Maintainers <debian-multimedia at lists.debian.org>
+Date: Wed, 23 Oct 2019 09:44:36 +0200
+Subject: have Projucer link against the system libraries
+
+Origin: Debian
+Forwarded: no
+Last-Update: 2019-08-21
+
+since the Debian package has removed 3rd-party libraries (jpeg, png, flag,
+ogg/vorbis), we must use against the system libraries.
+Last-Update: 2019-08-21
+---
+ .../ProjectSaving/jucer_ProjectExport_Make.h       | 36 ++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+
+diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h
+index 88fd4f1..cdac636 100644
+--- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h
++++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h
+@@ -464,6 +464,39 @@ private:
+         if (isCurlEnabled() && ! isLoadCurlSymbolsLazilyEnabled())
+             packages.add ("libcurl");
+ 
++        // on Debian, a number of 3rd-party libs have been stripped away,
++        // so we need to link to the 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.removeDuplicates (false);
+ 
+         return packages;
+@@ -563,6 +596,9 @@ private:
+         StringArray result (linuxLibs);
+ 
+         auto libraries = StringArray::fromTokens (getExternalLibrariesString(), ";", "\"'");
++#ifdef DEBIAN_JUCERPROJECT_LIBS
++        libraries.addArray(StringArray::fromTokens (DEBIAN_JUCERPROJECT_LIBS, ";", "\"'"));
++#endif
+         libraries.removeEmptyStrings();
+ 
+         for (auto& lib : libraries)

Deleted: juce_VSTInterface.h
===================================================================
--- juce_VSTInterface.h	2020-02-10 17:42:12 UTC (rev 566170)
+++ juce_VSTInterface.h	2020-02-10 17:42:27 UTC (rev 566171)
@@ -1,813 +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
-
-};
-
-//==============================================================================
-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 566170, juce/trunk/juce_VSTInterface.h)
===================================================================
--- juce_VSTInterface.h	                        (rev 0)
+++ juce_VSTInterface.h	2020-02-10 17:42:27 UTC (rev 566171)
@@ -0,0 +1,813 @@
+/*
+  ==============================================================================
+
+   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
+
+};
+
+//==============================================================================
+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