README
1samplv1 - an old-school polyphonic sampler
2------------------------------------------
3
4 an old-school polyphonic sampler synthesizer with stereo fx.
5
6Features:
7
8 - pure stand-alone JACK [1] client with JACK-session, NSM [3] and both
9 JACK MIDI and ALSA MIDI [2] input support;
10
11 - LV2 [4] instrument plugin.
12 URI: http://samplv1.sourceforge.net/lv2
13
14License:
15
16 samplv1 is free, Linux Audio [5] open-source software, distributed under
17 the terms of the GNU General Public License (GPL) [6] version 2 or later.
18
19Website:
20
21 https://samplv1.sourceforge.io
22 http://samplv1.sourceforge.net
23
24Project page:
25
26 https://sourceforge.net/projects/samplv1
27
28Git repos:
29
30 https://git.code.sf.net/p/samplv1/code
31 https://github.com/rncbc/samplv1.git
32 https://gitlab.com/rncbc/samplv1.git
33 https://bitbucket.org/rncbc/samplv1.git
34
35Weblog:
36
37 https://www.rncbc.org
38
39Requirements:
40
41 mandatory,
42
43 - Qt framework [7], C++ class library and tools for
44 cross-platform application and UI development
45 https://qt.io/
46
47 - libsndfile [8], C library for reading and writing
48 files containing sampled sound
49 http://www.mega-nerd.com/libsndfile/
50
51 optional (opted-in at build time),
52
53 - JACK [1] Audio Connection Kit
54 https://jackaudio.org/
55
56 - ALSA [2], Advanced Linux Sound Architecture
57 https://www.alsa-project.org/
58
59 - LV2 [4], Audio Plugin Standard, the extensible successor of LADSPA
60 https://lv2plug.in/
61
62 - FFTW3 [9], a C library for computing the discrete
63 Fourier transform (DFT) in one or more dimensions
64 http://www.fftw.org/
65
66 - librubberband [10], Rubber Band Audio Time Stretcher,
67 an audio time-stretching and pitch-shifting library
68 https://breakfastquay.com/rubberband/
69
70 - liblo [11], Lightweight OSC implementation
71 (needed for NSM support [3])
72 http://liblo.sourceforge.net/
73
74Installation:
75
76 - unpack tarball as usual; in the extracted source directory:
77
78 cmake [-DCMAKE_INSTALL_PREFIX=/usr/local] -B build -S .
79 make -C build
80
81 - optionally, as root:
82
83 sudo make -C build install
84
85 - see also the README.cmake file in the source distribution.
86
87Acknowledgements:
88
89 samplv1 logo/icon is an original fine work of Jarle Richard Akselsen.
90
91References:
92
93 [1] JACK Audio Connection Kit
94 https://jackaudio.org/
95
96 [2] ALSA, Advanced Linux Sound Architecture
97 https://www.alsa-project.org/
98
99 [3] Non Session Management (NSM)
100 http://non.tuxfamily.org/nsm/
101
102 [4] LV2, Audio Plugin Standard, the extensible successor of LADSPA
103 http://lv2plug.in/
104
105 [5] Linux Audio consortium of libre software for audio-related work
106 https://linuxaudio.org
107
108 [6] GNU General Public License
109 https://www.gnu.org/copyleft/gpl.html
110
111 [7] Qt framework, C++ class library and tools for
112 cross-platform application and UI development
113 https://qt.io/
114
115 [8] libsndfile, C library for reading and writing
116 files containing sampled sound
117 http://www.mega-nerd.com/libsndfile/
118
119 [9] FFTW3, a C library for computing the discrete
120 Fourier transform (DFT) in one or more dimensions
121 http://www.fftw.org/
122
123 [10] librubberband, Rubber Band Audio Time Stretcher,
124 an audio time-stretching and pitch-shifting library
125 https://breakfastquay.com/rubberband/
126
127 [11] liblo, Lightweight OSC implementation
128 (needed for NSM support [3])
129 http://liblo.sourceforge.net/
130
131
132
133Cheers && Enjoy.
134--
135rncbc aka. Rui Nuno Capela
136rncbc@rncbc.org
137https://www.rncbc.org
138
README.cmake
1What is CMake?
2==============
3
4CMake is a cross platform build system, that can be used to replace the old
5auto-tools, providing a nice building environment and advanced features.
6
7Some of these features are:
8* Out of sources build: CMake allows you to build your software into a directory
9 different to the source tree. You can safely delete the build directory and
10 all its contents once you are done.
11* Multiple generators: classic makefiles can be generated for Unix and MinGW,
12 but also Visual Studio, XCode and Eclipse CDT projects among other types.
13* Graphic front-ends for configuration and build options.
14
15More information and documentation is available at the CMake project site:
16 http://www.cmake.org
17
18CMake is free software. You can get the sources and pre-compiled packages for
19Linux and other systems at:
20 http://www.cmake.org/cmake/resources/software.html
21
22How to use it?
23==============
24
251. You need CMake 3.13 or newer to build samplv1
26
272. Unpack the samplv1 sources somewhere, or checkout the repository,
28 and create a build directory. For instance, using a command line shell:
29
30$ tar -xvzf Downloads/samplv1-x.y.z.tar.gz
31$ cd samplv1-x.y.z
32$ mkdir build
33
342. Execute CMake from the build directory, providing the source directory
35 location and optionally, the build options. There are several ways.
36
37* From a command line shell:
38
39$ pwd
40samplv1-x.y.z
41$ cd build
42$ cmake -DCMAKE_BUILD_TYPE=debug ..
43
443. Execute the build command. If you used the Makefiles generator (the default
45 in Linux and other Unix systems) then execute make, gmake, or mingw32-make.
46 If you generated a project file, use your IDE to build it.
47
48Compiling with make
49===================
50
51There are many targets available. To see a complete list of them, type:
52
53$ make help
54
55The build process usually hides the compiler command lines, to show them:
56
57$ make VERBOSE=1
58
59There is a "clean" target, but not a "distclean" one. You should use a build
60directory different to the source tree. In this case, the "distclean" target
61would be equivalent to simply removing the build directory.
62
63If something fails
64==================
65
66If there is an error message while executing CMake, this probably means that a
67required package is missing in your system. You should install the missing
68component and run CMake again.
69
70If there is an error executing the build process, after running a flawless CMake
71configuration process, this means that there may be an error in the source code,
72or in the build system, or something incompatible in 3rd party libraries.
73