A. Preparation.
Download the following files and follow the installation instructions:
1. The file containing the source code FluidSynth ( http://sourceforge.net/apps/trac/fluidsynth/ )
fluidsynth-1.1.6.zip ( http://sourceforge.net/projects/fluidsynth/files/fluidsynth-1.1.6/fluidsynth-1.1.6.zip/download )
Create a new folder in "C: \". For example "C: \ FS64".
In this folder fluidsynth-1.1.6.zip decompress the file. ("C: \ FS64 \ fluidsynth-1.1.6")
In this last folder create the "build" folder ("C: \ FS64 \ fluidsynth-1.1.6 \ build")
Make the following changes:
a) Open fluid_dll.c file in the folder "C: \ FS64 \ fluidsynth-1.1.6 \ src" with notepad ++. Go to line 79 and change
static long FAR PASCAL fluid_win32_wndproc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
by
LONG_PTR static fluid_win32_wndproc FAR PASCAL (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
and save
b) Open fluid_cmd.c file in the "C: \ FS64 \ fluidsynth-1.1.6 \ src \ bindings" folder with notepad ++. Go to 1373 and change the line
int len = FLUID_STRLEN (name);
by
size_t len = FLUID_STRLEN (name);
Go to 1375 and change the line
d-> len = len;
by
d-> len = (int) len;
Go to 1383 and change the line
int len = FLUID_STRLEN (name);
by
size_t len = FLUID_STRLEN (name);
and save
c) Open the fluid_winmidi.c file in the "C: \ FS64 \ fluidsynth-1.1.6 \ src \ drivers" folder with notepad ++. Go to line 282 and change
int index;
by
size_t index;
and save
d) Open fluid_jack.c file in the "C: \ FS64 \ fluidsynth-1.1.6 \ src \ drivers" folder with notepad ++. Go to line 436 and change
jack_free (jack_ports); / * Free jack ports array (not the port values!) * /
by
jack_free ((void *) jack_ports); / * Free jack ports array (not the port values!) * /
and save
e) Open file "fluid_portaudio.c" in the "C: \ FS64 \ fluidsynth-1.1.6xx \ src \ drivers" folder with notepad ++. Go to line 41. Replace the text:
#include <unistd.h>
with:
/ * #include <Unistd.h> * /
Immediately create a new line and type:
#include <io.h>
Go to line 45, create a new line and type:
#define bzero (b, len) (memset ((b), '\ 0', (len)) (void) 0)
and save
From line 38 to 46 should be the following:
#if PORTAUDIO_SUPPORT
#include <fcntl.h>
/ * #include <unistd.h> * /
#include <io.h>
#include <errno.h>
#include <portaudio.h>
#define bzero (b, len) (memset ((b), '\ 0', (len)) (void) 0)
f) Open fluid_midi.c file in the "C: \ FS64 \ fluidsynth-1.1.6 \ src \ midi" folder with notepad ++. Go to line 67 and change
mf> BUF_LEN = length;
by
mf> BUF_LEN = (int) length;
Go to 1074 and change the line
int len;
by
size_t len;
and save
g) Open fluid_defsfont.c file in the folder "C: \ FS64 \ fluidsynth-1.1.6 \ src \ sfLoader" with notepad ++. Go to line 904 and change
int size;
by
size_t size;
Go to 1304 and change the line
int size;
by
size_t size;
and save
h) Open fluid_settings.c file in the "C: \ FS64 \ fluidsynth-1.1.6 \ src \ utils" folder with notepad ++. Go to 1426 and change the line
int count, len;
by
int count;
size_t len;
Go to the line 1498 (after changing the line 1426; before 1497 was) and change
int PathLen;
by
size_t PathLen;
and save
i) fluid_sys.c Open the file in the "C: \ FS64 \ fluidsynth-1.1.6 \ doc" folder with notepad ++. Go to line 924 and change
return write (out, buf, strlen (buf));
by
return write (out, buf, (int) strlen (buf));
Go to line 927 and change
retval = send (out & ~ WIN32_SOCKET_FLAG, buf, strlen (buf), 0);
by
retval = send (out & ~ WIN32_SOCKET_FLAG, buf, (int) strlen (buf), 0);
and save
j) Doxyfile.cmake Open the file in the "C: \ FS64 \ fluidsynth-1.1.6 \ src \ utils" folder with notepad ++. Go to line 68 and change
SHOW_DIRECTORIES = NO
by
# SHOW_DIRECTORIES = NO
Go to line 126 and change
HTML_ALIGN_MEMBERS = YES
by
# HTML_ALIGN_MEMBERS = YES
and save
Optional Tip
You can change the "fluidsynth.c" file folder "C: \ FS \ fluidsynth-1.1.6 \ src" to that by running fluidsynth.exe tell us the platform. That is, rather than to show us the welcome
FluidSynth version 1.1.6
Copyright (C) 2000-2012 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont (R) is a registered trademark of E-mu Systems, Inc.
we report
FluidSynth x64 version 1.1.6
Copyright (C) 2000-2012 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont (R) is a registered trademark of E-mu Systems, Inc.
To do this open the "fluidsynth.c" file with notepad ++ and go to the line 829 and replace
printf ("FluidSynth version% s \ n"
with
printf ("% s FluidSynth x64 version \ n"
and save.
2. Libraries gthread glib and x64.
glib_2.24.2-2_win64 ( http://ftp.gnome.org/pub/gnome/binaries/win64/glib/2.24/glib_2.24.2-2_win64.zip )
glib-dev_2.24.2-2_win64 ( http://ftp.gnome.org/pub/gnome/binaries/win64/glib/2.24/glib-dev_2.24.2-2_win64.zip )
proxy-libintl-dev_20100902_win64 ( http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/proxy-libintl-dev_20100902_win64.zip )
3. The gettext-runtime x64 tool.
gettext-runtime_0.18.1.1-2_win64 ( http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/gettext-runtime_0.18.1.1-2_win64.zip )
4. Tool x64 -pkg- config.
pkg-config_0.23 -2_win64 ( http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/pkg-config_0.23-2_win64.zip )
5. The Readline library 5.2 x64
readline-5.2-x64-lib ( https://sites.google.com/site/qsynthwindows/readline-5.2-lib-x64.7z )
6. The Portaudio x64 v19 library
portaudio_v19_20140130_x64 ( https://sites.google.com/site/qsynthwindows/portaudio_v19_20140130_x64.7z )
Unzip all required under sections 2 3, 4, 5 and 6 in the same directory with a name without spaces, for example "C: \ libfs64" Add file "C: \ libfs64 \ bin; C:. \ Libfs64 \ include; C. \ libfs64 \ lib "to thesystem PATH variable To check: Start button -> All Programs -> Accessories -> Command Prompt
C: \> pkg-config --list-all
gio-2.0 GIO - glib I / O library
GModule-2.0 GModule - Dynamic module loader for GLib
glib-2.0 GLib - C Utility Library
GModule-no-export-GModule 2.0 - Dynamic module loader for GLib
gthread-2.0 GThread - Thread support for GLib
gobject-2.0 GObject - GLib Type, Object, Parameter and Signal Library
portaudio-2.0 portaudio-2.0 - x64 portaudio library
7. The program CMake 3.4.1-win32-x86
cmake-3.4.1-win32-x86.exe ( https://cmake.org/files/v3.4/cmake-3.4.1-win32-x86.exe )
Typically install the program.
8. Microsoft Visual Studio 2010 Express español ( http://download.microsoft.com/download/b/3/4/b34eb2a2-c426-4c36-92bc-8567856830b2/VS2010ExpressESN.iso ), Microsoft Visual Studio 2010 SP1(Update) ( http://download.microsoft.com/download/E/B/A/EBA0A152-F426-47E6-9E3F-EFB686E3CA20/VS2010SP1dvd1.iso ) and Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 x64 ( http://download.microsoft.com/download/2/E/9/2E911956-F90F-4BFB-8231-E292A7B6F287/GRMSDKX_EN_DVD.iso ), Actualización VC-Compiler-KB2519277 ( https://download.microsoft.com/download/7/9/0/790080A1-60C4-465E-9284-2EF7B5B8AEDE/VC-Compiler-KB2519277.exe )
You can create DVDs using the appropriate program or use an application that allows the creation of virtual CD-DVD drive (for example Gizmo) and load on a drive each of the ISO images.
Riding VS2010ExpressESN.iso and Windows Explorer double click the file Setup.hta. One by one the desired components are installed. For this tutorial Visual C ++ 2010 Express is required.
Before installing Windows SDK 7 you are necessary to check the version of the "Redistributable" VS2010. Go to Control Panel and select Programs and Features. Search entry: Microsoft Visual C ++ 2010 x64 Redistributable - XX.X.XXXXX and Microsoft Visual C ++ 2010 x86 Redistributable - XX.X.XXXXX. If XX.X.XXXXX equals 10.0.30319 skip the next step.
If XX.X.XXXXX is greater than 10.0.30319, uninstall both "Redistributable" x64 and x86.
GRMSDKX_EN_DVD.iso mount the image. You should automatically run the Windows SDK Setup Wizard. If it is not in the root directory of the DVD to double-click setup.exe. Follow the installation steps.
After that mount the image in the drive VS2010SP1dvd1.iso and Windows Explorer go to the root directory and double click setup.exe. It will install SP1 for VS2010 Express components that have been installed previously.
Finally the update VC-Compiler-installed KB2519277.exe
Create redist folder in C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC (aka C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC). Create the x64 folder in C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ redist (aka C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ redist). Microsoft.VC100.CRT create the folder C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ redist \ x64 (aka C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ redist \ x64).
Copy the C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ redist \ x64 \ Microsoft.VC100.CRT (aka C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ redist \ x64 \ Microsoft.VC100.CRT) msvcp.dll and msvcr.dll the files stored in the "C: \ Windows \ System32" folder.
9. The utility doxygen x64.
doxygen-1.8.2.windows.x64.bin ( ftp://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.2.windows.x64.bin.zip )
Doxygen-1.8.2.windows.x64.bin decompress the .zip file in the "C: \ libfs64 \ bin" folder
10. The program Graphviz
graphviz-2.38.zip ( http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.zip )
Create the folder C: \ libfs64 \ GV2.38. it decompress compressed content graphviz-2.38.zip.
Add to the PATH system, "C: \ libfs64 \ GV2.38 \ release \ bin" path
11. Libraries Jack_v1.9.10_64
Jack_v1.9.10_64_setup.exe ( https://dl.dropboxusercontent.com/u/28869550/Jack_v1.9.10_64_setup.exe )
Jack_v1.9.10_64_setup.exe run the installer. In 64-bit systems, the installer Jack_v1.9.10_64 installed by default in the folder:
"C: \ Program Files (x86) \ Jack"
What is a clear error. Changing this location:
"C: \ Program Files \ Jack"
Continue installing the program normally.
Copy the "jack" folder in "C: \ Program Files \ Jack \ includes" (aka "C: \ Program Files \ Jack \ includes") in the "C: \ libfs64 \ include" created in point 4 and the files in "C: \ Program Files \ Jack \ lib" (alias C: \ Program Files \ Jack \ lib ") in the" C: \ libfs64 \ lib "
Open notepad ++ ( http://notepad-plus-plus.org/ ): From the menu click File -> New. New editing window appears. From the menu click Encode Encoding and select UTF-8 without BOM. In the edit window type:
prefix = c: / devel / target / fc3f1f7e8403ab2bf792fb540d8ffffe
exec_prefix = $ {prefix}
exec_prefix libdir = $ {} / lib
includedir = $ {prefix} / include
server_libs exec_prefix = -L $ {} / lib -llibjackserver
Name: jack
Description: the Jack Audio Connection Kit
Version: 1.9.10.0
Libs: -L $ {} -llibjack64 libdir
Cflags: -I $ {includedir} / libjack
From the menu, click File -> Save As ... and save it in "C: \ libfs64 \ lib \ pkgconfig" with the name: jack.pc.
12. The libsndfile-1.0.26-w64 libraries Mega-Nerd.
libsndfile-1.0.26-w64.zip ( http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.26-w64.zip )
Libsndfile-1.0.26-w64.zip decompress the file in the "C: \ libfs64. (Press [Yes to All] in the messages may overwrite).
Sndfile.pc open the file in the "C: \ libfs64 \ lib \ pkgconfig" folder with notepad ++ and modify as follows:
Original:
prefix = c: / devel / target / libsndfile
exec_prefix = $ {prefix}
exec_prefix libdir = $ {} / lib
includedir = $ {prefix} / include
Name: sndfile
Description: A library for reading and writing audio files
Requires:
Version: 1.0.26
Libs: -L $ {} -lsndfile libdir
Libs.private: Ext / libflac.la Ext / Ext libvorbis.la / libogg.la
Cflags: -I $ {includedir}
New:
prefix = c: / devel / target / libsndfile
exec_prefix = $ {prefix}
exec_prefix libdir = $ {} / lib
includedir = $ {prefix} / include
Name: libsndfile-1
Description: A library for reading and writing audio files
Requires:
Version: 1.0.26
Libs: -L $ {} -llibsndfile-1 libdir
Libs.private: Ext / libflac.la Ext / Ext libvorbis.la / libogg.la
Cflags: -I $ {includedir}
To check, open a command line window and type:
C: \> pkg-config --list-all
portaudio-2.0 portaudio-2.0 - x64 portaudio library
sndfile libsndfile-1 - A library for reading and writing audio fil
is
jack Jack - the Jack Audio Connection Kit
glib-2.0 GLib - C Utility Library
gio-2.0 GIO - glib I / O library
gobject-2.0 GObject - GLib Type, Object, Parameter and Signal Library
GModule-no-export-GModule 2.0 - Dynamic module loader for GLib
GModule-2.0 GModule - Dynamic module loader for GLib
gthread-2.0 GThread - support for GLib b Thread
B. Generate file ".sln" graphical interface with CMake
1. Run CMake (cmake-gui)
2. Enter the path where the source code (C: \ FS64 \ fluidsynth-1.1.6)
3. Enter the path where FluidSynth (C: \ FS64 \ fluidsynth-1.1.6 \ build) will be created
4. Click the [Set] button. The selection box will be presented generator.
5. Select "Win64 Visual Studio October 2010" as a generator, choose the option "Use default native compilers" and click on the button [Finish].
6. The program performs the requested action.
7. After the configuration has the following status:
8. Open the tree "Ungrouped Entries" in the project window and uncheck "enable-debus" and "enable-pulseaudio" (if you want to compile without Jack can uncheck "enable-jack"). Tick to "enable-portaudio"
9. Click the [Set] key a second time and to end this operation, click the [Generate] button.
C. Create FluidSynth
1. Go to "C: \ FS64 \ fluidsynth-1.1.6 \ build" folder in the file browser and double click on the file FluidSynth.sln. The graphical interface of VS 2010 opens.
2. Go to the Build menu -> Configuration Management ... and in the window that appears in the combo "Active Solution Configuration" select Release and check the box "Generate" in the "doxygen" and the category "INSTALL" in the "Contexts of the project" and press [Close] window.
3. Go to the Build menu -> Build Solution. The program must be compiled without warnings and error.
4. The release of the new executable will be located in the folder fluidsynth.exe, libfluidsynth.dll, fluidsynth.lib and fluidsynth: "C: \ FS64 \ fluidsynth-1.1.6 \ build \ src \ Release" where the files are located .exp.
The units include the following files:
libfluidsynth.dll
which is in the same folder where fluidsynth.exe was built.
libglib-2.0-0.dll
libgthread-2.0-0.dll
libsndfile-1.dll
libintl-8.dll
portaudio_x64.dll
who they are in the "C: \ libfs64 \ bin" folder.
libjack64.dll
it is located in "C: \ Windows" when you install Jack_v1.9.10_64.
(Aka "C: \ Program Files \ FluidSynth" containing the following folders: 5. If INSTALL is selected in the Configuration Manager VS2010, the "\ Program Files \ FluidSynth C" folder will be created:
bin:
fluidsynth.exe
libfluidsynth.dll
msvcp100.dll
msvcr100.dll
include:
fluidsynth:
audio.h
Event.h
gen.h
log.h
midi.h
misc.h
mod.h
ramsfont.h
seq.h
seqbind.h
settings.h
sfont.h
shell.h
synth.h
types.h
version.h
voice.h
fluidsynth.h
lib64:
pkgconfig:
fluidsynth.pc
fluidsynth.lib
6. Documentation of the programmer is in the folder "C: \ FS64 \ fluidsynth-1.1.6 \ build \ doc \ api \ html", where the file is: index.htm that can be opened with any Internet browser .