summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorusrmusicman2019-07-07 15:33:39 -0400
committerusrmusicman2019-07-07 15:33:39 -0400
commite9036d10fc292417a65d8e0f8c800804f3800b2b (patch)
tree05ab562ae1bd5ca3e20fed07db28652625f16564
downloadaur-e9036d10fc292417a65d8e0f8c800804f3800b2b.tar.gz
LinVst3 VST3 Linux Bridge
-rw-r--r--.SRCINFO24
-rw-r--r--PKGBUILD19
-rwxr-xr-xw2lvst331
3 files changed, 74 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..9f1ba332ebcd
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,24 @@
+pkgbase = linvst3
+ pkgdesc = enables Windows vst's to be used as Linux vst's in Linux vst capable DAW's
+ pkgver = 1.0
+ pkgrel = 1
+ url = https://github.com/osxmidi/LinVst
+ arch = x86_64
+ makedepends = git
+ depends = wine
+ depends = freetype2
+ depends = xcb-util
+ depends = xcb-util-cursor
+ depends = xcb-util-keysyms
+ depends = libxkbcommon-x11
+ depends = libx11
+ depends = expat
+ depends = gtkmm3
+ depends = sqlite
+ source = https://github.com/osxmidi/LinVst3/releases/download/1.0/LinVst3-1.0-Debian-Stretch.zip
+ source = w2lvst3
+ sha256sums = SKIP
+ sha256sums = SKIP
+
+pkgname = linvst3
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..b340bfd2e1a7
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,19 @@
+pkgname=linvst3
+pkgver=1.0
+pkgrel=1
+pkgdesc="enables Windows vst's to be used as Linux vst's in Linux vst capable DAW's"
+arch=('x86_64')
+url="https://github.com/osxmidi/LinVst"
+depends=('wine' 'freetype2' 'xcb-util' 'xcb-util-cursor' 'xcb-util-keysyms' 'libxkbcommon-x11' 'libx11' 'expat' 'gtkmm3' 'sqlite')
+makedepends=('git')
+source=("https://github.com/osxmidi/LinVst3/releases/download/$pkgver/LinVst3-${pkgver}-Debian-Stretch.zip" 'w2lvst3')
+sha256sums=('SKIP'
+ 'SKIP')
+
+package() {
+ cd "${srcdir}/LinVst3-${pkgver}-Debian-Stretch/embedded-version/"
+ for file in *; do
+ install -Dm755 $file $pkgdir/usr/bin/$file
+ done
+ install -Dm755 $srcdir/w2lvst3 $pkgdir/usr/bin/w2lvst3
+}
diff --git a/w2lvst3 b/w2lvst3
new file mode 100755
index 000000000000..1f25738f3086
--- /dev/null
+++ b/w2lvst3
@@ -0,0 +1,31 @@
+#!/usr/bin/python3
+
+# Maintainer: Alexander Mcmillan <linuxguy93@gmail.com>
+
+# Imported Modules
+import os # native OS support
+import shutil # high-level file operations support
+import glob # support globbing *
+import time # sleep/wake command support
+import sys # import sytem functions
+
+# Golbal Variables
+linvstfileso="/usr/bin/linvst3.so" # the linvst3.so bridge file for the linvst3 bridge
+homedir=os.path.expanduser("~") # expand the current users home directory /home/<user>
+vstdir=(homedir + "/" + ".vst3" + "/") # DAW scanned VST directory
+currentdir=os.getcwd() + "/" # get the current work directory
+
+# Executable Code
+print ("\033[1;38m" + "Start LinVst3 Bridge Creation" + "\033[0m") # print start message
+os.makedirs(vstdir, exist_ok=True) # create a /home/<user>/<vstdir> directory
+for i in glob.glob("*.vst3"): # check for all files with a .vst3 extension
+ vstname, extdll=os.path.splitext(i) # split the filename from its extension, store each value in a seperate variable
+ extso=(".so") # the destination exstension .so for Linux DAW compatibility
+ shutil.copy2(linvstfileso, vstname + extso) # copy the linvst.so bridge file to match the vstname .vst3 file. example: plugin.vst3, plugin.so
+ print("\033[1;33m" + vstname + ": " + "\033[1;36m" + "Link Generated..." + "\033[0m") # print the .so link to be generated
+ if os.path.islink(vstdir + vstname + extso): # Check if link exists
+ os.remove(vstdir + vstname + extso) # remove old link for vst bridge
+ os.symlink(currentdir + vstname + extso, vstdir + vstname + extso) # generate link for vst bridge
+ else:
+ os.symlink(currentdir + vstname + extso, vstdir + vstname + extso) # generate link for vst bridge
+ time.sleep(0.5) # sleep for half a second