Skip to content

Instantly share code, notes, and snippets.

@rodlie
Last active September 21, 2021 16:12
Show Gist options
  • Save rodlie/12aee3ba839b7a9c85fdd414b44c1216 to your computer and use it in GitHub Desktop.
Save rodlie/12aee3ba839b7a9c85fdd414b44c1216 to your computer and use it in GitHub Desktop.
Build and install Airwave64 on Ubuntu Bionic (https://youtu.be/p93Fj3I3t9I)
#!/bin/sh
# Build and install Airwave64
# https://github.com/rodlie - <[email protected]>
#
CWD=`pwd`
AIRWAVE_GIT="https://github.com/phantom-code/airwave"
AIRWAVE_COMMIT="8cd3507a46c2f7809a2ef8481cbded7dcbbae8ff"
VST_V="369_01_03_2018_build_132"
echo "Build and install Airwave64 ..."
if [ -d "$CWD/airwave" ] || [ -d "$HOME/airwave64" ]; then
echo "airwave exists!"
exit 1
fi
# install packages needed
OS=`cat /etc/os-release | sed '/^NAME=/!d;s/NAME=//;s/"//g'`
if [ "$OS" = "Ubuntu" ]; then
sudo apt install git cmake build-essential qtbase5-dev qt5-qmake wine64-* ttf-mscorefonts-installer libmagic-dev
fc-cache -fv
else
echo "Unsupported distro! Install git, file, cmake, qt5, wine64 and mscorefonts."
fi
# clone repository
git clone $AIRWAVE_GIT || exit 1
cd airwave || exit 1
git checkout $AIRWAVE_COMMIT || exit 1
# remove 32bit support
patch -p1 <<'EOF'
diff --git a/src/common/storage.cpp b/src/common/storage.cpp
index e5bd560..b0121b7 100644
--- a/src/common/storage.cpp
+++ b/src/common/storage.cpp
@@ -38,7 +38,7 @@ bool Storage::reload()
// Add default WINE loader
name = "default";
- path = FileSystem::fullNameFromPath("wine");
+ path = FileSystem::fullNameFromPath("wine64");
loaderByName_.emplace(makePair(name, path));
// Initialize default values
diff --git a/src/host/CMakeLists.txt b/src/host/CMakeLists.txt
index 4a36e20..e92790f 100644
--- a/src/host/CMakeLists.txt
+++ b/src/host/CMakeLists.txt
@@ -61,20 +61,20 @@ endif()
# Set target
-add_executable(${TARGET_NAME}-32 WIN32 ${SOURCES})
+#add_executable(${TARGET_NAME}-32 WIN32 ${SOURCES})
-set_target_properties(${TARGET_NAME}-32 PROPERTIES
- COMPILE_FLAGS "-m32"
- LINK_FLAGS "-m32"
-)
+#set_target_properties(${TARGET_NAME}-32 PROPERTIES
+# COMPILE_FLAGS "-m32"
+# LINK_FLAGS "-m32"
+#)
# Link with libraries
-target_link_libraries(${TARGET_NAME}-32
- ${CMAKE_THREAD_LIBS_INIT}
-)
-
-install(PROGRAMS
- ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}-32.exe
- ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}-32.exe.so
- DESTINATION bin
-)
+#target_link_libraries(${TARGET_NAME}-32
+# ${CMAKE_THREAD_LIBS_INIT}
+#)
+
+#install(PROGRAMS
+# ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}-32.exe
+# ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}-32.exe.so
+# DESTINATION bin
+#)
diff --git a/src/manager/core/application.cpp b/src/manager/core/application.cpp
index 8c81256..3197d62 100644
--- a/src/manager/core/application.cpp
+++ b/src/manager/core/application.cpp
@@ -66,7 +66,7 @@ QStringList Application::checkMissingBinaries(const QString& path) const
QDir binDir(binPath);
QStringList fileList;
- fileList += HOST_BASENAME "-32.exe";
+ //fileList += HOST_BASENAME "-32.exe";
fileList += PLUGIN_BASENAME ".so";
#ifdef PLATFORM_64BIT
fileList += HOST_BASENAME "-64.exe";
diff --git a/src/manager/forms/settingsdialog.cpp b/src/manager/forms/settingsdialog.cpp
index fdc5f47..bffde41 100644
--- a/src/manager/forms/settingsdialog.cpp
+++ b/src/manager/forms/settingsdialog.cpp
@@ -9,6 +9,7 @@
#include <QPushButton>
#include <QSettings>
#include <QTreeWidget>
+#include <QDir>
#include "common/config.h"
#include "core/application.h"
#include "core/logsocket.h"
@@ -30,6 +31,7 @@ SettingsDialog::SettingsDialog(QWidget* parent) :
QSettings settings;
QString vstPath = settings.value("vstPath", qgetenv("VST_PATH")).toString();
+ if (vstPath.isEmpty()) { vstPath = QDir::homePath()+"/.vst"; }
vstPathEdit_->setText(vstPath.split(':').first());
Storage* storage = qApp->storage();
@@ -188,7 +190,7 @@ void SettingsDialog::browseForBinariesPath()
dialog.setFilter(QDir::AllDirs | QDir::NoDotAndDotDot | QDir::Files);
QStringList nameFilters;
- nameFilters << HOST_BASENAME "-32.exe" << HOST_BASENAME "-64.exe";
+ nameFilters /*<< HOST_BASENAME "-32.exe"*/ << HOST_BASENAME "-64.exe";
nameFilters << PLUGIN_BASENAME ".so";
dialog.setNameFilters(nameFilters);
EOF
# Add VST SDK
if [ ! -d "$CWD/airwave/VST_SDK" ]; then
wget https://download.steinberg.net/sdk_downloads/vstsdk${VST_V}.zip || exit 1
unzip vstsdk${VST_V}.zip || exit 1
cd VST_SDK || exit 1
sh copy_vst2_to_vst3_sdk.sh || exit 1
cd $CWD/airwave || exit 1
fi
# Build
mkdir build || exit 1
cd build || exit 1
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$HOME/airwave64 -DVSTSDK_PATH=$CWD/airwave/VST_SDK/VST3_SDK .. || exit 1
make || exit 1
make install || exit 1
if [ ! -d "$HOME/.vst" ]; then
mkdir -p "$HOME/.vst" || exit 1
fi
echo "All done! Airwave64 is now installed in $HOME/airwave64"
exit 0
@rockincats
Copy link

Hello, could you please help me?

Steinberg recently changed the folder structure in version 3612_03_12_2018_build_67 and now the file airwave64.sh does not work in this version. I tried all the ways to tweak the script but I did not succeed.

Could you help me?

Thank you!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment