shm server interface: handle allocation failure
[supercollider.git] / README_WINDOWS.txt
blob7a4b2ef715a8635b6a0d73866871378bfba170b2
1 ------------------------------------------------------------------------\r
2 PsyCollider 3.2 (Supercollider 3.2 for Windows)\r
3 ------------------------------------------------------------------------\r
4 \r
5 This is the Windows version of James McCartney's SuperCollider synthesis \r
6 engine (scsynth) and programming language (sclang). \r
7 Supercollider's main homepage is at\r
8    http://supercollider.sourceforge.net/\r
9 \r
10 To get further information on SuperCollider usage or development, you\r
11 should subscribe to the mailing lists:\r
12    http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml\r
14 ------------------------------------------------------------------------\r
15 System Requirements\r
16 ------------------------------------------------------------------------\r
18 * Windows 2000/XP/Vista\r
19 * Windows Installer \r
21 Most common sound cards will work fine - the sound card should be one \r
22 that is supported by PortAudio (http://www.portaudio.com/). If you have \r
23 issues with latency, consult http://www.portaudio.com/docs/latency.html for \r
24 advice how to tune your operating system to achieve the best results \r
25 (in short: use ASIO drivers wherever possible).\r
27 ------------------------------------------------------------------------\r
28 How to install, and how to launch\r
29 ------------------------------------------------------------------------\r
30 To install, simply run "setup.exe" and PsyCollider will install on your \r
31 System (default location is Program Files\PsyCollider).\r
33 Start PsyCollider from your start menu.\r
35 NOTE: Your system must provide both audio input and audio output. Otherwise \r
36 the synthesis server will not start (see also sc-users mailinglist discussion)\r
38 Paths and files you may want to be aware of:\r
39 $PSYCOLLIDER_HOME$\startup.sc : system wide startup file\r
40 $USER_HOME$\SuperCollider\startup.sc : user startup file\r
41 $USER_HOME$\SuperCollider\Extensions : user extension folder for classes, plugins and help files\r
44 ------------------------------------------------------------------------\r
45     Note: THE FOLLOWING INFORMATION IS FOR DEVELOPERS ONLY!\r
46     Most people don't need to know how to build SC3 from scratch...\r
47 ------------------------------------------------------------------------\r
48 Building\r
49 ------------------------------------------------------------------------\r
51 To compile SuperCollider for yourself...\r
52 Check out the latest source from supercollider.sourceforge.net \r
54 The following libraries are needed for compiling\r
55 * libsndfile (included in the sc code tree)\r
56 * portaudio\r
57 * portmidi\r
58 * pthread-Win32\r
59 * fftw3\r
60 * python\r
62 You need Visual C++ 2008 (9.0) or the Express edition to build it. \r
64 Let's call ROOT the folder you checked out the SuperCollider code tree (contains "build", "Source" etc.)\r
65 (Note that the SuperCollider code folder should be named "SuperCollider3" to avoid problems.)\r
67 1: Python \r
68 ----------------------\r
69 1) go to "http://python.org" and download and install the latest Python version (tested 2.5.1). \r
70 NOTE: get the Windows installer and make sure its the Unicode version and NOT the Ansii version.\r
72 2) go to "http://wxpython.org" and download and install the corresponding wxPython binary (tested 2.8.6.1)\r
73 NOTE: again you need the Unicode version.\r
75 NOTE: make sure you have an environment variable set called PYTHONPATH pointing to the base directory of you installation (Should be done by python installer).\r
77 2: Portaudio + ASIO\r
78 ----------------------\r
79 - reminder : you do NOT need to build portaudio. this is taken care of by the msvc project.\r
81 1) go to "http://www.portaudio.com/" and download pa_snapshot_v19.tar.gz\r
82 (main page --> CVS (left menu) --> pa_snapshot_v19.tar.gz in the "v19-devel" branch section)\r
84 2) uncompress it in the ROOT folder. normally, the portaudio folder has the correct name "portaudio".\r
85 folders must be like that :\r
87 ...\r
88 ROOT\..\portaudio\docs\r
89 ROOT\..\portaudio\src\r
90 ....\r
92 3) go to steinberg.net --> support --> 3rd party Developers (menu on the right) --> ASIO SDK Download. \r
93 If you agree on legal junk, you can enter a valid email address (please note that i do NOT know if you can safely Disagree with Steinberg sending your email address to commercial partners and receive the SDK info anyway...). \r
95 4) once you receive the email (it took 5 minutes here), you can download asiosdk2.zip, copy and uncompress it to a temp folder. you must then copy some parts of the asio2 sdk to the PortAudio source tree.\r
97 5) unpack the zip and put it next to portaudio. \r
99 ...\r
100 ROOT\..\asio-sdk\common\r
101 ROOT\..\asio-sdk\driver\r
102 ...\r
104 3: Portmidi\r
105 -----------\r
106 - reminder : you do NOT need to build portmidi. this is taken care of by the msvc project.\r
108 1) checkout version 8 from http://portmedia.svn.sourceforge.net/svnroot/portmedia/portmidi/trunk/\r
110 the folder structure needs to be like this:\r
111 ...\r
112 ROOT\..\portmidi\pm_common\\r
113 ROOT\..\portmidi\portmidi.dsp\\r
114 ...\r
116 4: Pthread-win32\r
117 ------------------------\r
118 - reminder : you do NOT need to build pthread-win32. this is taken care of by the msvc project.\r
120 1) go to : "ftp://sources.redhat.com/pub/pthreads-win32" and get "pthreads-snap-yyyy-mm-dd.tar.gz". (known to work with "pthreads-snap-2005-01-25.tar.gz")\r
121 uncompress it and rename the folder to "pthread-win32" so that the source tree looks like :\r
123 ...\r
124 ROOT\..\pthread-win32\tests\r
125 ROOT\..\pthread-win32\announce\r
126 ROOT\..\pthread-win32\attr.c\r
127 ...\r
128 NOTE : the home page is "http://sources.redhat.com/pthreads-win32"\r
131 5: fftw3\r
132 -----------------------\r
134 1) go to: "http://www.fftw.org/install/windows.html" and download the "PRECOMPILED WINDOWS DLL".\r
136 ...\r
137 ROOT\..\fftw3\r
138 ...\r
140 You also need to run the instructions in the readme that accompany the fftw3 download, which tell you \r
141 how to generate "lib" files for your system.\r
144 6: libsndfile\r
145 -----------------------\r
147 NOTE: THIS SECTION ABOUT LIBSNDFILE MAY BE OUT OF DATE. Libsndfile windows headers are now included by default. Please first try skipping this section, then come back if it doesn't work.\r
149 Some libsndfile files are included in the sc3 source distribution - however, you need to do a couple of things to get libsndfile stuff compiling correctly on your system:\r
151 * go to http://www.mega-nerd.com/libsndfile/#Download section and download the "Windows zip file including precompiled binaries"\r
152 * that zip file contains a readme with some instructions. Follow them.\r
153 * When done, place the following files into SuperCollider's "libsndfile" folder:\r
155 ...\r
156 ROOT\xtralibs\win\libsndfile\libsndfile-1.def\r
157 ROOT\xtralibs\win\libsndfile\libsndfile-1.dll\r
158 ROOT\xtralibs\win\libsndfile\libsndfile-1.exp\r
159 ROOT\xtralibs\win\libsndfile\libsndfile-1.lib\r
160 ROOT\xtralibs\include\libsndfile\sndfile.h\r
161 ...\r
164 7: actually building and running the thing!\r
165 -------------------------------------------\r
167 Once all the above is done, the Solution "SC3win.sln" should compile without problems (lots of warnings though...).\r
168 As a result you will have the plugins in build\plugins (scx files) and PySCLang in ($PYTHONHOME)\lib\site-packages\r
170 (The building of the "PySClang" target should also result in a few necessary files being copied into the "build" \r
171 folder. Namely Psycollider.py, startup.sc, keywords.list, libsndfile.dll, libfftw3f-3.dll.)\r
174 Then open a Terminal and run: python.exe Psycollider.py \r
177 ------------------------------------------------------------------------\r
178 Environment\r
179 ------------------------------------------------------------------------\r
181 Environment variables add directories to the default search path for plugins and synth definitions, respectively. Directory names are separated by ';' and must be set through the Control Panel. \r
183  * SC_PLUGIN_PATH, SC_SYNTHDEF_PATH\r
185 ------------------------------------------------------------------------\r
186 Reporting bugs\r
187 ------------------------------------------------------------------------\r
189 Please report bugs either to the sc-users or sc-dev mailing lists.\r
191 ------------------------------------------------------------------------\r
192 Outro\r
193 ------------------------------------------------------------------------\r
195 thanks to james mccartney, for making this great piece of audio\r
196 software publically and freely available.\r