This commit is contained in:
Stefano D'Angelo 2022-10-13 09:37:18 +02:00
parent 73cdcc0f62
commit a97e3a513a
16 changed files with 84 additions and 77 deletions

2
vst3/asid.vst3/Contents/Info.plist Executable file → Normal file
View File

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>CFBundleName</key>
<string>ASID</string>
<string>A-SID</string>
<key>CFBundleExecutable</key>
<string>asid</string>

View File

@ -1,21 +1,28 @@
ASID 1.0.3
==========
A-SID 1.0.4
===========
* Improved compatbiility with latest MacOS versions.
* Fixed a couple of potential bugs.
* A few hard-to-notice cosmetic changes.
A-SID 1.0.3
===========
* Implemented compatibility with Reaper and Bitwig Studio on Linux.
* Fixed a bug in setting VST bus arrangements.
ASID 1.0.2
==========
A-SID 1.0.2
===========
Added MacOS installer.
ASID 1.0.1
==========
A-SID 1.0.1
===========
* Reworked GUI OS layer.
* Added Linux/x86-64 and MacOS x86-64/arm64 support.
ASID 1.0.0
==========
A-SID 1.0.0
===========
First release.

View File

@ -4,8 +4,8 @@ VST_SDK_DIR=../../VST_SDK
rm -rf build
mkdir -p build
cp -R asid.vst3 build
mkdir -p build/asid.vst3/Contents
cp -R asid.vst3/Contents/Resources build/asid.vst3/Contents
mkdir -p build/asid.vst3/Contents/x86_64-linux
@ -47,7 +47,11 @@ g++ \
-Isrc \
-I$VST_SDK_DIR/vst3sdk/ \
-fPIC -shared \
-static-libgcc \
-static-libstdc++ \
-lxcb \
-o build/asid.vst3/Contents/x86_64-linux/asid.so \
-O3
-O3 \
-ffast-math
# for a more static build we probably need
# -static-libgcc -static-libstdc++ -l:library.a...
# with static libraries built with -fPIC

View File

@ -5,7 +5,7 @@ VST_SDK_DIR=../../VST_SDK
rm -rf build
mkdir -p build
cp -R asid.vst3 build
cp -R asid.vst3/Contents build
mkdir -p build/asid.vst3/Contents/MacOS
@ -48,13 +48,10 @@ CFLAGS="
-framework Cocoa \
-std=c++11 \
\
-DDEVELOPMENT=1 \
-I../src \
-Isrc \
-I$VST_SDK_DIR/vst3sdk/ \
-fPIC -shared \
-ldl \
-rdynamic \
-o build/asid.vst3/Contents/MacOS/asid \
-DRELEASE=1 \
-O3 \
@ -68,5 +65,3 @@ clang++ $SOURCES $CFLAGS -arch arm64 -o build/asid.vst3/Contents/MacOS/asid-arm6
lipo -create -output build/asid.vst3/Contents/MacOS/asid build/asid.vst3/Contents/MacOS/asid-x86_64 build/asid.vst3/Contents/MacOS/asid-arm64
rm build/asid.vst3/Contents/MacOS/asid-x86_64 build/asid.vst3/Contents/MacOS/asid-arm64
cp installMacOS installMacOSdo.sh build

View File

@ -4,8 +4,9 @@ VST_SDK_DIR=../../VST_SDK
rm -rf build
mkdir -p build
cp -R asid.vst3 build
mkdir -p build/asid.vst3/Contents
cp asid.vst3/desktop.ini asid.vst3/Plugin.ico build/asid.vst3
cp -R asid.vst3/Contents/Resources build/asid.vst3/Contents
mkdir -p build/asid.vst3/Contents/x86_64-win
@ -55,4 +56,5 @@ g++ \
-static-libgcc \
-static-libstdc++ \
-o build/asid.vst3/Contents/x86_64-win/asid.vst3 \
-O3
-O3 \
-ffast-math

View File

@ -1,11 +0,0 @@
#!/bin/sh
BASEDIR=$(dirname "$0")
/usr/bin/osascript -e 'display dialog "I need root privileges to install Orastron A-SID. Should we continue?" buttons {"Do not install", "Proceed"} default button "Proceed" cancel button "Do not install" with title "Install Orastron A-SID"' || exit 1
out=$(/usr/bin/osascript -e "do shell script \"$BASEDIR/installMacOSdo.sh 2>&1\" with prompt \"Install Orastron A-SID\" with administrator privileges" 2>&1)
if [ $? -ne 0 ]; then
/usr/bin/osascript -e "display dialog \"Installation failed with the following error message: $out\" with title \"Install Orastron A-SID\" buttons {\"OK\"} default button \"OK\""
exit 1
else
/usr/bin/osascript -e 'display dialog "Orastron A-SID succesfully installed. Enjoy!" with title "Install Orastron A-SID" buttons {"OK"} default button "OK"'
fi

View File

@ -1,7 +0,0 @@
#!/bin/sh
BASEDIR=$(dirname "$0")
rm -fr /Library/Audio/Plug-Ins/VST3/asid.vst3 || exit 1
cp -R $BASEDIR/asid.vst3 /Library/Audio/Plug-Ins/VST3/ || exit 1
chmod +x /Library/Audio/Plug-Ins/VST3/asid.vst3/Contents/MacOS/asid || exit 1
xattr -rd com.apple.quarantine /Library/Audio/Plug-Ins/VST3/asid.vst3 || exit 1

View File

@ -50,7 +50,7 @@ struct config_parameter {
#define COMPANY_MAILTO "mailto:info@orastron.com"
#define PLUGIN_NAME "A-SID"
#define PLUGIN_VERSION "1.0.2"
#define PLUGIN_VERSION "1.0.4"
#define PLUGIN_SUBCATEGORY "Fx|Filter"
#define PLUGIN_GUID_1 0x83AB6110
@ -82,7 +82,7 @@ static struct config_parameter config_parameters[NUM_PARAMETERS] = {
{ "Cutoff", "Cutoff", "", 0, 0, 0, 1.f },
{ "LFO Amount", "LFO Amt", "%", 0, 0, 0, 0.f },
{ "LFO Speed", "LFO Speed", "", 0, 0, 0, 0.5f },
{ "Modulate Cutoff", "Mod Cutoff", "", 1, 0, 0, 0.f },
{ "Modulated Cutoff", "Mod Cutoff", "", 1, 0, 0, 0.f },
};
// Internal API

View File

@ -136,11 +136,15 @@ static void setParameterCb(PGUI_TYPE gui, uint32_t id, float value) {
}
tresult PLUGIN_API Controller::initialize(FUnknown *context) {
pgui = PGUI_NEW(getParameterCb, setParameterCb, this);
if (pgui == nullptr)
return kResultFalse;
tresult r = EditController::initialize(context);
if (r != kResultTrue)
return r;
pgui = PGUI_NEW(getParameterCb, setParameterCb, this);
if (pgui == nullptr) {
EditController::terminate();
return kResultFalse;
}
// add parameters
for (int i = 0; i < NUM_PARAMETERS; i++)

View File

@ -111,11 +111,15 @@ static void setParameterCb(PGUI_TYPE gui, uint32_t id, float value) {
}
tresult PLUGIN_API Controller::initialize(FUnknown *context) {
pgui = PGUI_NEW(getParameterCb, setParameterCb, this);
if (pgui == nullptr)
return kResultFalse;
tresult r = EditController::initialize(context);
if (r != kResultTrue)
return r;
pgui = PGUI_NEW(getParameterCb, setParameterCb, this);
if (pgui == nullptr) {
EditController::terminate();
return kResultFalse;
}
// add parameters
for (int i = 0; i < NUM_PARAMETERS; i++)

View File

@ -104,11 +104,15 @@ static void setParameterCb(PGUI_TYPE gui, uint32_t id, float value) {
}
tresult PLUGIN_API Controller::initialize(FUnknown *context) {
pgui = PGUI_NEW(getParameterCb, setParameterCb, this);
if (pgui == nullptr)
return kResultFalse;
tresult r = EditController::initialize(context);
if (r != kResultTrue)
return r;
pgui = PGUI_NEW(getParameterCb, setParameterCb, this);
if (pgui == nullptr) {
EditController::terminate();
return kResultFalse;
}
// add parameters
for (int i = 0; i < NUM_PARAMETERS; i++)

View File

@ -132,11 +132,15 @@ static inline void _sse2neon_mm_set_flush_zero_mode(unsigned int flag)
/* End of sse2neon code */
#else
#elif defined(__i386__) || defined(__x86_64__)
#include <xmmintrin.h>
#include <pmmintrin.h>
#else
#define NO_DAZ_FTZ
#endif
Plugin::Plugin() {
@ -243,37 +247,20 @@ tresult PLUGIN_API Plugin::process(ProcessData &data) {
for (; k < NUM_CHANNELS_OUT; k++)
outputs[k] = nullptr;
#if defined(__aarch64__)
#ifndef NO_DAZ_FTZ
const unsigned int flush_zero_mode = _MM_GET_FLUSH_ZERO_MODE();
const unsigned int denormals_zero_mode = _MM_GET_DENORMALS_ZERO_MODE();
_MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON);
_MM_SET_DENORMALS_ZERO_MODE(_MM_DENORMALS_ZERO_ON);
#else
const int flush_zero_mode = _MM_GET_FLUSH_ZERO_MODE();
const char denormals_zero_mode = _MM_GET_DENORMALS_ZERO_MODE();
_MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON);
_MM_SET_DENORMALS_ZERO_MODE(_MM_DENORMALS_ZERO_ON);
#endif
#endif
P_PROCESS(instance, inputs, outputs, data.numSamples);
#if defined(__aarch64__)
#ifndef NO_DAZ_FTZ
_MM_SET_FLUSH_ZERO_MODE(flush_zero_mode);
_MM_SET_DENORMALS_ZERO_MODE(denormals_zero_mode);
#else
_MM_SET_FLUSH_ZERO_MODE(flush_zero_mode);
_MM_SET_DENORMALS_ZERO_MODE(denormals_zero_mode);
#endif
#endif
for (int i = 0; i < NUM_PARAMETERS; i++) {
if (!config_parameters[i].out)

3
vst3/tests/testabletonlive.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
/Applications/Ableton\ Live\ 11\ Trial.app/Contents/MacOS/Live

9
vst3/tests/testardour.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
export ARDOUR_DATA_PATH=/Applications/Ardour6.app/Contents/Resources
export ARDOUR_DLL_PATH=/Applications/Ardour6.app/Contents/lib
export ARDOUR_CONFIG_PATH=/Applications/Ardour6.app/Contents/Resources
/Applications/Ardour6.app/Contents/MacOS/Ardour6

3
vst3/tests/testeditor.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
/Users/orastron/Orastron/VST_SDK/build/bin/Debug/editorhost.app/Contents/MacOS/editorhost /Users/orastron/Orastron/asid/vst3/build/asid.vst3

3
vst3/tests/testreaper.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
/Applications/REAPER.app/Contents/MacOS/REAPER