-
Notifications
You must be signed in to change notification settings - Fork 2
/
README_win32.txt
104 lines (70 loc) · 3.9 KB
/
README_win32.txt
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
Instructions for compiling LoopDub on Windows
---------------------------------------------
LoopDub for Windows is compiled using Visual C++. Please note that as I
have version 6 of Visual C++, instructions may differ slightly if you are
using a later version. In general however, I think it shouldn't be a
problem for you. (Fingers crossed.) If it is, let me know, but I can't
promise anything as I certainly won't be upgrading.
Apologies in advance for these necessary steps, but I didn't think it would
be right to include other people's packages directly in my own download.
If you are serious about helping to extend LoopDub, you'll have to download
these libs. You only need to do it once anyways, once it's working you
should be all set.
(Can you tell I've gotten used to Debian, where a simple "apt-get" is all
you need to do?)
That said, for minimal frustration, PLEASE FOLLOW ALL THESE STEPS before
giving up.
1. Get the following files and copy them to the LoopDub source directory:
- http://www.portaudio.com/archives/portaudio_v18_1.zip
- http://www.portaudio.com/archives/winvc.zip
- http://www-2.cs.cmu.edu/~music/portmusic/portmidi/portmidi17nov04.zip
- http://www.libsdl.org/release/SDL-devel-1.2.8-VC6.zip
(PortMidi should actually already be there. I've included it because
it is not readily available as a Linux package the way PortAudio and
SDL are. At least with Debian this is the case, maybe it's available
for other distros, but that's not an issue here.)
These URLs are valid as of right now (March 30, 2005), but if you can't
download them a search should be able to find them.
2. Unzip all but winvc.zip. Right-click and choose "Unzip Here", or
equivalent. You should now have three new folders with the following
names:
- loopdub/portaudio_v18_1
- loopdub/portmidi
- loopdub/SDL-devel-1.2.8
3. Unzip winvc.zip into its own folder. All files should show up in a
folder called "winvc". You should move this folder to within the
portaudio_v18_1 folder. The new location of the winvc files should be:
- loopdub/poraudio_v18_1/winvc
** COMPILE PORTMIDI **
1. Open loopdub/portmidi/portmidi.dsw.
2. Choose "Batch Build.." from the Build menu. Select ONLY the following
projects (Release and Debug):
- pm_dll
- portmidi
If you wish to compile the portmidi test programs, you may, but I will
warn you that there are some errors in the project files that caused me
a bit of a headache. I will not explain here, as it would be out of the
scope of this document, but I'd be happy to explain if someone asks.
** COMPILE PORTAUDIO **
1. Open loopdub/portaudio_v18_1/winvc/WinVC.dsw
2. IMPORTANT STEP: There is a line in pa_dsound.c that causes LoopDub to
crash in PaHost_OpenStream(). I still don't know why this causes a
problem, but to work around it change line 54 from:
#define PRINT(x) { printf x; fflush(stdout); }
to
#define PRINT(x) { printf x; /*fflush(stdout);*/ }
If anyone has any ideas on why calling fflush(stdout) triggers an
access violation, I'd love to know. It _shouldn't_ be a problem, but
it was for me, for some reason or another. Just change this line and
it will work. I'm not really in the position to debug PortAudio at this
point, and besides, I'm aware that this isn't the latest version.
(V19 is still unstable, so I prefer to depend on V18.)
3. Use Build/Batch Build.. to compile everything.
** COMPILE LOOPDUB **
SDL, conveniently, is already compiled for us, so we can continue with the
main event now.
Open loopdub/loopdub.dsw and Build All. LoopDub should compile and
run. Remember that you have to give it an argument to tell it where to find
your loop folder, which you can do from the Project/Settings dialog. In the
future perhaps I'll have it query using a dialog box, but this will do for
this release.