A.- Preparación.
Bajar los siguientes archivos y seguir las instrucciones de instalación. (Se supone que se ha creado FluidSynth).
1.- El archivo con el código fuente de Qsynth (http://qsynth.sourceforge.net/qsynth-index.html)
qsynth-0.4.1.tar.gz (http://sourceforge.net/projects/qsynth/files/qsynth/0.4.1/qsynth-0.4.1.tar.gz/download)
Crear una carpeta nueva en “C:\”. Por ejemplo “C:\QS32”.
En esta carpeta descomprimir el archivo qsynth-0.4.1.tar.gz. (“C:\QS32\qsynth-0.4.1”)
En esta última carpeta crear la carpeta “build” (“C:\QS32\qsynth-0.4.1\build”)
Realizar los siguientes cambios:
a) Abrir el archivo “CMakeLists.txt” en la carpeta “C:\QS64\qsynth-0.4.1\src” con notepad++.
Ir a la línea 131 y sustituir
DESTINATION share/locale )
con
DESTINATION share/qsynth/translations )
Ir a la línea 142 y sustituir
DESTINATION share/locale )
con
DESTINATION share/qsynth/translations )
y guardar.
b) A los archivos “qsynthDialClassicStyle.h”, “qsynthDialSkulptureStyle.h”, “qsynthDialVokiStyle.h” y “qsynthKnob.h” que se localizan en la carpeta “C:\QS32\qsynth-0.4.1\src” abrirlos con notepad++ y añadir al final de cada archivo, la línea
#define M_PI 3.14159265358979323846
y guardar cada uno.
c) Abrir el archivo “CMakeLists.txt” en la carpeta “C:\QS32\qsynth-0.4.1” y hacer las siguientes modificaciones.
1) Ir a la línea 7 y sustituir
set (PACKAGE_NAME "Qsynth")
con
set (PACKAGE_NAME "Qsynth ")
(Esto es, agregar un espacio al final de la palabra Qsynth)
2) Ir a la línea 61 y sustituir
if (FLUIDSYNTH_LIBRARY AND HAVE_FLUIDSYNTH_H)
con
if (FLUIDSYNTH_LIBRARY)
Ir a la línea 73 y sustituir
else (FLUIDSYNTH_LIBRARY AND HAVE_FLUIDSYNTH_H)
con
else (FLUIDSYNTH_LIBRARY)
Ir a la línea 75 y sustituir
endif (FLUIDSYNTH_LIBRARY AND HAVE_FLUIDSYNTH_H)
con
endif (FLUIDSYNTH_LIBRARY)
3) Ir a la línea 13 y crear dos líneas nuevas. Escribir en ellas:
cmake_policy(SET CMP0020 OLD)
cmake_policy(SET CMP0043 OLD)
crear otra línea en blanco y guardar.
d) Abrir el archivo qsynth.qrc en “C:\QS64\qsynth-0.4.1\src” con notepad++ e ir a la línea 25 y cambiar
<file>images/qtlogo.png</file>
por
<!-- <file>images/qtlogo.png</file> -->
y guardar
2.- El programa Qt5 (http://qt-project.org/) para desarrollo de Interfaces de Usuario de plataforma cruzada.
qt5-5.6.1-1-vs2010.7z (897 MB).
(https://mega.nz/#!955BGK4I!mjb9M9oiQ_HR_3YfEIkD62cIxAmj2iY0vD3WF2zW_HQ) precompilada en 32 bit y para vs 2010 por sigmoid (http://www.npcglib.org/~stathis/blog/)
NOTA: De éste archivo comprimido sólo se necesita el folder “qt5-x86-shared-release” que se encuentra en el archivo “qt-5.6.1-1-VS2010-x86.7z” (28 MB) que puede obtenerse de:
“https://mega.nz/#!9gh2gTDJ!2wg-JofavJAuW1NDge8aRu9BqzobCc627KQXZ8kl9Ts” con un nuevo nombre de carpeta: “qt561-1-VS2010-x86”
Descomprimir el folder “qt561-1-VS2010-x86” en “C:\Qt”.
Agregar a la variable de sistema PATH la ruta “C:\Qt\qt561-1-VS2010-x86\bin”
3.- Cuando se compila FluidSynth x86 en una máquina de 64 bits utilizando la opción INSTALL, la carpeta de instalación debe quedar en “C:\Archivos de programa (x86)\FluidSynth” (“C:\Program Files (x86)\FluidSynth”)
a) Copiar la biblioteca libfluidsynth.dll ubicada en la carpeta “C:\Archivos de programa (x86)\FluidSynth\bin” (“C:\Program Files (x86)\FluidSynth\bin”) en la carpeta “C:\libfs32\bin”.
b) Copiar la biblioteca fluidsynth.lib y la carpeta “pkgconfig” ubicadas en la carpeta “C:\Archivos de programa (x86)\FluidSynth\lib” (“C:\Program Files (x86)\FluidSynth\lib”) en la carpeta “C:\libfs32\lib”.
c) Copiar los archivos y la carpeta contenidos en el directorio “C:\Archivos de programa (x86)\FluidSynth\include” (“C:\Program Files (x86)\FluidSynth\include”) (archivos include) dentro de la carpeta “C:\libfs32\include”.
B.- Generar el archivo “.sln” con la interface gráfica de CMake
1.- Ejecutar CMake (cmake-gui)
2.- Introducir la ruta donde se encuentra el código fuente (C:\QS64\qsynth-0.4.1)
3.- Introducir la ruta donde se creará Qsynth (C:\QS64\qsynth-0.4.1\build)
4.- Hacer clic en el botón [Configure]. Se presentará la ventana de elección del generador.
5.- Elegir “Visual Studio 10 2010” como generador, Elegir la opción “Use default native compilers” y hacer clic en el botón [Finish].
6.- El programa ejecuta la acción solicitada.
7.- Terminada la configuración se tiene el siguiente estado:
En la ventana central hacer clic en el signo [+]××× del lado izquierdo de la clave CMAKE. Buscar la entrada CMAKE_INSTALL_PREFIX y cambiarlo de “C:/Program Files/QSYNTH” a “./”. Esto garantiza que al distribuir Qsynth la búsqueda de los archivos de traducción sea relativa a la carpeta “\share\qsynth\translations”, la que se deberá ubicar en la misma carpeta que contiene el ejecutable “qsynth.exe”.
8.- Hacer clic en la tecla [Configure] una segunda vez y al finalizar esta operación se hace clic en el botón [Generate].
C.- Crear Qsynth
1.- Ir a la carpeta “C:\QS32\qsynth-0.4.1\build” en el explorador de archivos y dar doble clic sobre el archivo QSYNTH.sln. Se abrirá la interface gráfica de VS 2010.
2.- Ir al menú Generar -> Administración de la configuración… y en la ventana que aparece en el combo “Configuración de soluciones activas:” seleccionar Release y marcar la casilla de “Generar”, en el rubro “INSTALL” en la ventana “Contextos del proyecto” y oprimir [Cerrar].
3.- En el “Explorador de soluciones” dar clic derecho en el rubro qsynth y elegir Propiedades en el menú desplegable. En la ventana que aparece ir a Vinculador -> Línea de comandos. En el cuadro de texto editable “Opciones adicionales” añadir el texto
/ENTRY:"mainCRTStartup"
Oprimir [Aplicar] y luego [Aceptar].
4.- Ir al menú Generar -> Generar solución. El programa debe compilarse sin advertencias y sin errores.
5.- La salida del nuevo ejecutable se ubicará en la carpeta “C:\QS32\qsynth-0.4.1\build” donde se encontrará el archivo: qsynth.exe, y la carpeta share en el que se encuentran los archivos de traducción (share\qsynth\translations).
Las dependencias incluyen los siguientes archivos:
intl.dll
libfluidsynth.dll
libglib-2.0-0.dll
libgthread-2.0-0.dll
libjack.dll
libsndfile-1.dll
portaudio_x86.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Widgets.dll
readline-x86.dll
qwindows.dll
Esta última se encuentra en la carpeta “C:\Qt\qt551-VS2010-x86\plugins\platforms” (Ver Nota abajo)
NOTA:
Para la distribución del programa se necesitan las siguientes DLLs dentro de la misma carpeta que contiene a qsynth.exe:
Qt5Core.dll, Qt5Widgets.dll y Qt5Gui.dll – Las bibliotecas Qt5 que se obtienen de la carpeta “C:\Qt\qt551-VS2010-x86\bin”
qwindows.dll – se encuentran en la carpeta "C:\Qt\qt551-VS2010-x86xx\plugins\platforms" Se debe crear la carpeta “platforms” en el folder donde se instala qsynth.exe y en ella copiar el archivo “qwindows.dll”.
libjack.dll – La biblioteca Jack que se obtiene de “C:\Windows\SysWOW64” después de instalar Jack_v1.9.10_64.
fluidsynth.exe – El programa ejecutable FluidSynth compilado. (No es necesario para que Qsynth trabaje pero se acostumbra suministrarlo)
libfluidsynth.dll, libglib-2.0-0.dll libgthread-2.0-0.dll, intl.dll, libsndfile-1.dll, portaudio_x86.dll y readline-x86.dll – se obtienen de la carpeta “C:\libfs32\bin”