Goal
Serato is one of the companies that offers turntables with a digital control system to read out values like the position of the stylus. The external vinylcontrol~ provides an interface for a Serato Vinyl Control System in pure data unter Linux (Ubuntu). This article will describe the compilation and installation of all components involved.
Steps
- Install pure data:
sudo apt-get install puredata
- Install flext:
- Get the sources and change into the source folder
sudo apt-get install subversion g++
svn co https://svn.grrrr.org/ext/trunk/flext flext
cd flext/ - To compile it, use the following command:
./build.sh pd gcc
The first time you run this, a default system configuration file will be created (buildsys/config-lnx-pd-gcc.txt). The second time a default package configuration file will be created (config.txt). - If we leave the config files as they are, the following error may occur when you run the build script again:
CPU you selected does not support x86-64 instruction set
Solution: Uncomment the marked line in buildsys/config-lnx-pd-gcc.txt like this:# user defined optimization flags
Afterwards you need to clean and build again:
# (check if they match your system!)
#OFLAGS=-O3
# optimizations for Pentium 4
#OFLAGS+=-march=pentium4./build.sh pd gcc clean
./build.sh pd gcc - Last step: The global system installation of flext.
sudo ./build.sh pd gcc install
- Install the vinylcontrol~ external:
- Download and unpack the source files next to the flext installation and chance into this directory with your terminal. This would be the way to do it within the terminal
wget "http://karhumusic.sesser.at/vinylcontrol/vinylcontrol.tar.gz"
tar -xzf vinylcontrol.tar.gz
cd vinylcontrol/ - Building – this is the catch: use the flext build file to compile vinylcontrol~. Assuming flext is installed on the same folder hierarchy next to vinylcontrol:
../flext/build.sh pd gcc
Again, run it twice because at first the config file will be created.
sudo ../flext/build.sh pd gcc install
- Test it by opening the example .pd file from the vinylcontrol~ library folder:
pd vinylcontrol.pd