=============
Freeverb3_VST
=============

This is freeverb3_vst, 3.x.x .

Freeverb3_vst is a VST plugins package utilizing freeverb3 library
which performs many types of audio signal data processing.

Please refer to the tutorial page of the freeverb3_vst website for more information.

===============================
How to build binaries (Windows)
===============================

VST plugins for Windows can be built under the following environment.

- MinGW-w64 (32bit/64bit) cross compiler on Linux (or most UNIX platforms)
  [http://mingw-w64.sourceforge.net/]

The version over MinGW-w64-1.0 are supported. The configure example shell scripts are in the cross-sh directory.
Binary packages of mingw-w64 with some changes below are used to build the current Freeverb3VST binary package.

mingw-w32-bin_i686-linux_20130523.tar.bz2 -> /opt/MinGW-w32
mingw-w64-bin_i686-linux_20130523.tar.bz2 -> /opt/MinGW-w64

These files are available from the dev package download site of Freeverb3VST or MinGW-w64 download site.
The files should be installed on the paths above to use the build scripts.

If you build Freeverb3VST without any changes on MinGW-w64, the VST plugin dlls and exes
will depend on some runtime dlls of MinGW-w64. These MinGW-w64 dlls can be installed
using the installer on the freeverb3_vst project download page.

You can delete these dll depedencies by replacing some files in MinGW-w64 described below,
but you will be warned that this way may cause some problems on multithreaded programs.
In addition, these hacks cause some memory leaks in some cases.
The -static-libgcc and -static-libstdc++ options should be used to solve these problems instead,
however these options are not working correctly on some cases.

 1. replace libstdc++.dll dependency

 move $ARCH/lib/libstdc++.dll.a -> $ARCH/lib/libstdc++.dll.a.orig
 link $ARCH/lib/libstdc++.a -> $ARCH/lib/libstdc++.dll.a

 2. replace libgcc.dll dependency

 move $ARCH/lib/libgcc_s.a -> $ARCH/lib/libgcc_s.a.orig
 link lib/gcc/$ARCH/$VERSION/libgcc.a -> $ARCH/lib/libgcc_s.a

===============================
How to build binaries (MacOSX)
===============================

VST plugins for MacOSX can be built under the following environment.

- Apple GCC cross compiler with Mac OS X SDK

The versions over gcc-4.5.0 Apple_gcc-4.0.1/odcctools-698,758/SDK-10.4u/SDK-10.5 are supported.
The configure example shell scripts are in the cross-sh directory.
Binary packages and self built packages of Apple GCC and odcctools are used to build the current Freeverb3VST binary package.

- PowerPC
- X86
  SDK version: MacOSX10.4u.sdk
  odcctools-698.1od9(odcctools-20090808)
  gcc-5247
  biolpc22.york.ac.uk_pub_linux-mac-cross/mac-cross-gcc-2009-12-01/odcctools-20090808-gcc-5247-bin.tar.bz2 -> /opt/mac

- PowerPC 64bit
  SDK version: MacOSX10.4u.sdk
  odcctools-758.1od1 (odcctools-svn-20111128.tar.bz2)
  gcc-5490 (https://devs.openttd.org/~truebrain/compile-farm/apple-darwin9.txt)
  (gcc-5490-odcctools-758.1od1-powerpc64.tar.xz) -> /opt/mac/p64

- AMD64
  SDK version: MacOSX10.5.sdk
  odcctools-758.1od1 (odcctools-svn-20111128.tar.bz2)
  gcc-5490 (https://devs.openttd.org/~truebrain/compile-farm/apple-darwin9.txt)
  (gcc-5490-odcctools-758.1od1-x86_64.tar.xz) -> /opt/mac/x64

These files are available from the dev package download section of Freeverb3VST site.
The files should be installed on the paths above to use the build scripts.

Compilers and toolchains for PowerPC 64bit and AMD64 versions are built on gcc-4.4.5 with commands below.

./configure --prefix=/opt/mac/p64 --target=powerpc64-apple-darwin9 --with-sysroot=/opt/mac/SDKs/MacOSX10.4u.sdk --enable-ld64
./configure --prefix=/opt/mac/x64 --target=x86_64-apple-darwin9 --with-sysroot=/opt/mac/SDKs/MacOSX10.5.sdk --enable-ld64

../gcc-5490/configure --prefix=/opt/mac/p64 --disable-checking --enable-languages=c,objc,c++,obj-c++ \
--with-as=/opt/mac/p64/bin/powerpc64-apple-darwin9-as --with-ld=/opt/mac/p64/bin/powerpc64-apple-darwin9-ld64 \
--target=powerpc64-apple-darwin9 --with-sysroot=/opt/mac/SDKs/MacOSX10.4u.sdk \
--enable-static --enable-shared --disable-nls --disable-multilib

../gcc-5490/configure --prefix=/opt/mac/x64 --disable-checking --enable-languages=c,objc,c++,obj-c++ \
--with-as=/opt/mac/x64/bin/x86_64-apple-darwin9-as --with-ld=/opt/mac/x64/bin/x86_64-apple-darwin9-ld64 \
--target=x86_64-apple-darwin9 --with-sysroot=/opt/mac/SDKs/MacOSX10.5.sdk \
--enable-static --enable-shared --disable-nls --disable-multilib

=========================
Library DLL (for Windows)
=========================

All libraries on which freeverb3_vst depends are statically linked, so
the installation of some dlls is not required. However some binary distribution packages may be built on
MinGW versions which do not support static library linking. You have to install the MinGW-w64 runtime DLL
iles to Windows system directory or program directory containing programs' exe file if you get some
DLL not found" error messages. You do not need to install MinGW-w64 dlls if you do not get the DLL error messages.

There are 32bit and 64bit version of the MinGW-w64 runtime dll files.
The 32bit distribution binary package contains the 32bit dll files and
the 64bit one contains the 64bit ones. So, do not mix those dll files.

- On 32bit system
The 32bit dll files should be installed to %SystemRoot%\System32.
The 64bit dll files cannot be installed.
- On 64bit system
The 32bit dll files should be installed to %SystemRoot%\SysWOW64.
The 64bit dll files should be installed to %SystemRoot%\System32.

You can use the SetupMinGWRuntime-*.exe to install the MinGW-w64 runtime DLL files
to system directory, which can be retrieved from freeverb3 sourceforge download page.
You should use the SetupMinGWRuntime-*.exe if you are not sure where to install those
MinGW-w64 runtime dll files. The setup program supports both 32bit and 64bit system.

=======
Sources
=======

The source distribution package contains libsndfile/libsamlerate
sources and fftw3 libraries. Original sources are available from following sites.

- FFTW3
  [http://www.fftw.org/]

- libsamplerate
  [http://www.mega-nerd.com/SRC/]

- libsndfile
  [http://www.mega-nerd.com/libsndfile/]

- libexpat
  [http://expat.sf.net/]

This distribution package contains VSTGUI/VST sources patched for MinGW.

Please report any bugs or advices.

lib32, lib64, libmac and include directory will be used to build binaries.

=====
MinGW
=====

- Minimalist GNU for Windows [http://www.mingw.org/]

- Minimalist GNU for Windows 64 [http://sourceforge.net/projects/mingw-w64/]

=======
License
=======

See the AUTHORS.txt

====================
Contacts and Support
====================

The main code of freeverb3 and freverb3_vst was written by Teru Kamogashira.

The freeverb3 homepage is at:

	http://www.nongnu.org/freeverb3/
	https://savannah.nongnu.org/projects/freeverb3/

The freeverb3_vst homepage is at:

	http://freeverb3vst.osdn.jp/
	https://osdn.net/projects/freeverb3vst/

