-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup
executable file
·137 lines (108 loc) · 5.21 KB
/
setup
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#!/bin/bash
sudo sh -c 'echo "GRUB_CMDLINE_LINUX_DEFAULT=\"\$GRUB_CMDLINE_LINUX_DEFAULT preempt=full nohz=off mitigations=off usbcore.autosuspend=-1\"" > /etc/default/grub.d/perf.cfg'
sudo update-grub
sudo apt-get update && sudo apt-get upgrade
# see https://github.com/moddevices/mod-host, https://github.com/moddevices/mod-ui and https://github.com/rominator1983/mod-plugin-builder
sudo apt-get install git libreadline-dev liblilv-dev lilv-utils libfftw3-dev libjack-jackd2-dev libjack-jackd2-0 \
virtualenv python3-pip python3-dev git build-essential libasound2-dev rtirq-init \
liblilv-dev libjpeg-dev zlib1g-dev acl bc curl cvs git mercurial rsync subversion wget bison bzip2 flex \
gawk gperf gzip help2man nano perl patch tar texinfo unzip automake binutils build-essential cpio libtool \
libncurses-dev pkg-config python-is-python3 libtool-bin libmtdev-dev libsqlclient-dev \
libpulse-dev libx11-dev libfontconfig1-dev libc++-dev glibc-source linux-libc-dev apt-file \
automake binutils build-essential cpio libtool libncurses-dev pkg-config python-is-python3 \
libtool-bin libmtdev-dev libsqlclient-dev libpulse-dev libx11-dev libfontconfig1-dev \
libc++-dev glibc-source linux-libc-dev liblua5.1-0-dev meson mc -y
# for 23.10 and later
sudo apt-get install libsqlitecpp-dev -y
sudo apt-get autoremove -y
# TODO: PW: as of https://automatthias.wordpress.com/2021/12/27/running-a-standalone-jack-daemon-after-migration-to-pipewire/
# TODO: PW: set ["alsa.reserver"] = false in /usr/share/wireplumber/main.lua.d/50-alsa-config.lua
sudo sh -c 'echo "@audio - rtprio 99" >> /etc/security/limits.conf'
sudo sh -c 'echo "@audio - memlock unlimited" >> /etc/security/limits.conf'
sudo sh -c 'echo "@audio - nice -10" >> /etc/security/limits.conf'
sudo sh -c 'echo "RTIRQ_HIGH_LIST=\"timer snd-hrtimer snd usb\"" >> /etc/default/rtirq'
sudo apt-get update && sudo apt-get upgrade
cd ~
mkdir mod
cd mod
git clone --recurse-submodules https://github.com/moddevices/mod-host.git
git clone --recurse-submodules https://github.com/moddevices/mod-ui.git
git clone --recurse-submodules https://github.com/rominator1983/mod-plugin-builder.git
git clone https://github.com/rominator1983/completeModInstallationManual.git
mkdir ~/mod-workdir
mkdir ~/mod-workdir/user-files
mkdir ~/mod-workdir/user-files/Audio\ Loops
mkdir ~/mod-workdir/user-files/Audio\ Recordings
mkdir ~/mod-workdir/user-files/Audio\ Samples
mkdir ~/mod-workdir/user-files/Audio\ Tracks
mkdir ~/mod-workdir/user-files/Speaker\ Cabinets\ IRs
mkdir ~/mod-workdir/user-files/Hydrogen\ Drumkits
mkdir ~/mod-workdir/user-files/Reverb\ IRs
mkdir ~/mod-workdir/user-files/MIDI\ Clips
mkdir ~/mod-workdir/user-files/MIDI\ Songs
mkdir ~/mod-workdir/user-files/SF2\ Instruments
mkdir ~/mod-workdir/user-files/SFZ\ Instruments
mkdir ~/mod-workdir/user-files/Aida\ DSP\ Models
mkdir ~/mod-workdir/user-files/NAM\ Models
# legacy
cd ~/mod
ln -s -r ../mod-workdir/user-files/ user-files
cd ~/mod/mod-host
make
sudo make install
cd ~/mod/mod-ui
# this was sometimes needed to run mod-ui later. This is probably a ubuntu thing
sudo apt-get remove pipenv -y
virtualenv modui-env
source modui-env/bin/activate
pip install pipenv
pip3 install -r requirements.txt
# this is also needed to run mod-ui later
pip install pycryptodomex
pyMinorVersion="$(python3 -c 'import sys; print(sys.version_info[:][1])')"
sed -i -e 's/collections.MutableMapping/collections.abc.MutableMapping/' modui-env/lib/python3."$pyMinorVersion"/site-packages/tornado/httputil.py
make -C utils
echo "Starting bootstrap.sh"
read
mkdir ~/.ssh
ssh-keyscan github.com >> ~/.ssh/known_hosts
cd ~/mod/mod-plugin-builder
# This will take hours on ANY machine
./bootstrap.sh x86_64 > bootstrap.log 2>&1
# needed until https://github.com/moddevices/mod-plugin-builder/issues/176 is fixed
cp -rf ~/mod-workdir/x86_64/build/shiro-plugins-labs-60a678ca6abdb7fa10b0ac8dd87e0e41052abe78/dpf/ ~/mod-workdir/x86_64/build/shiro-plugins-60a678ca6abdb7fa10b0ac8dd87e0e41052abe78/
# compile plugins. see https://github.com/moddevices/mod-plugin-builder
cd ~/mod/mod-plugin-builder/plugins/package
echo "#"'!'"/bin/bash" > ../../compileAllPlugins
for d in *; do
echo "echo Building $d" >> ../../compileAllPlugins
echo "./build x86_64 $d > build$d.log 2>&1" >> ../../compileAllPlugins
done
cd ~/mod/mod-plugin-builder
chmod 777 compileAllPlugins
./compileAllPlugins
sudo cp -r ~/mod-workdir/x86_64/plugins/* /usr/lib/lv2/
# copy misplaced neural network definitions to user files directory
cp /usr/lib/lv2/rt-neural-generic.lv2/models/deer\ ink\ studios/* ~/mod-workdir/user-files/Speaker\ Cabinets\ IRs
cd ~/mod
git clone https://github.com/rominator1983/noClipDrive.lv2.git
git clone https://github.com/rominator1983/justOneOctaveUp.lv2.git
git clone https://github.com/rominator1983/rectifyingOctave.lv2.git
git clone https://github.com/rominator1983/splineDrive.lv2.git
cd ~/mod/noClipDrive.lv2
./waf configure
./waf build
sudo ./waf install
cd ~/mod/justOneOctaveUp.lv2
./waf configure
./waf build
sudo ./waf install
cd ~/mod/rectifyingOctave.lv2
./waf configure
./waf build
sudo ./waf install
cd ~/mod/splineDrive.lv2
./waf configure
./waf build
sudo ./waf install
sudo cp -rf /usr/local/lib64/lv2/* /usr/lib/lv2/