summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorusrmusicman2019-08-02 07:57:34 -0400
committerusrmusicman2019-08-02 07:57:34 -0400
commit7a394b6d53e3bbb279d9d665797e575abef09976 (patch)
tree47a068d27b01150f008adc6068c435e90f203296
downloadaur-7a394b6d53e3bbb279d9d665797e575abef09976.tar.gz
Add linvst2 as a stable variant of linvst package
-rw-r--r--.SRCINFO19
-rw-r--r--PKGBUILD29
-rwxr-xr-xw2lvst231
3 files changed, 79 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..969a74a031d4
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,19 @@
+pkgbase = linvst2
+ pkgdesc = enables Windows vst's to be used as Linux vst's in Linux vst capable DAW's
+ pkgver = 2.6.0
+ pkgrel = 1
+ url = https://github.com/osxmidi/LinVst
+ arch = x86_64
+ depends = wine
+ depends = python>=3.7
+ conflicts = linvst
+ conflicts = linvst-stable
+ replaces = linvst
+ replaces = linvst-stable
+ source = https://github.com/osxmidi/LinVst/releases/download/2.6/LinVst-64bit-32bit_2.6.0.deb
+ source = w2lvst2
+ sha256sums = SKIP
+ sha256sums = SKIP
+
+pkgname = linvst2
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..4070466c134f
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,29 @@
+pkgname=linvst2
+pkgver=2.6.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' 'python>=3.7')
+conflicts=('linvst' 'linvst-stable')
+replaces=('linvst' 'linvst-stable')
+source=("https://github.com/osxmidi/LinVst/releases/download/2.6/LinVst-64bit-32bit_${pkgver}.deb"
+ "w2lvst2")
+sha256sums=('SKIP'
+ 'SKIP')
+
+package() {
+ cd "${srcdir}"
+
+ ## Unpack Contents
+ tar -xzf data.tar.gz
+
+ ## Remove GUI Linker Programss
+ rm $srcdir/usr/bin/linvstconvert*
+
+ ## Copy Files
+ cp -r $srcdir/usr $pkgdir/usr
+
+ ## Install CLI Linker Program (Python3)
+ install -Dm755 w2lvst2 $pkgdir/usr/bin/w2lvst2
+}
diff --git a/w2lvst2 b/w2lvst2
new file mode 100755
index 000000000000..bbc8afbc5270
--- /dev/null
+++ b/w2lvst2
@@ -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/share/LinVst/64bit-32bit/linvst.so" # the linvst.so bridge file for the linvst bridge
+homedir=os.path.expanduser("~") # expand the current users home directory /home/<user>
+vstdir=(homedir + "/" + ".vst" + "/") # DAW scanned VST directory
+currentdir=os.getcwd() + "/" # get the current work directory
+
+# Executable Code
+print ("\033[1;38m" + "Start LinVst Bridge Creation" + "\033[0m") # print start message
+os.makedirs(vstdir, exist_ok=True) # create a /home/<user>/<vstdir> directory
+for i in glob.glob("*.dll"): # check for all files with a .dll 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 .dll file. example: plugin.dll, 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