[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