Filewatcher File Search File Search
Content Search
» » » » » libbml0_0.5.0-2_s390.deb » Content »
pkg://libbml0_0.5.0-2_s390.deb:88534/usr/share/doc/libbml0/  info  control  downloads

libbml0 - BuzzMachine loader - shared library…  more info»


$Id: README 2384 2009-04-27 11:26:14Z ensonic $

= quick info =
Please turn you browser to to learn what this project
is about. Buzztard is free software and distributed under the LGPL.

= intro =
The libbml is a library that loads buzz machines from the windows music
composer Buzz, so that Linux/Unix applications can use them.
It also supports open source buzz machines on any platform.

= building =
Please note that loading the windows dlls only works on x86 systems.
If one build on a non x86 system, the library can only support native
buzzmachines (see buzzmachines module in same svn).

= installing localy =
Use following options for ./ or ./configure
when installing the package to e.g. $HOME/buzztard remember to set these
environment variables:
  export LD_LIBRARY_PATH=$HOME/buzztard/lib:$LD_LIBRARY_PATH
  export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$HOME/buzztard/lib/pkgconfig"

= installing in /usr/local =
The default value for the --prefix configure option is /usr/local. Also in that
case the variables mentioned in the last example need to be exported.

= machines =
Export the path we you have the machine, e.g.:
  export BML_PATH=$HOME/buzztard/lib/Gear:$HOME/buzztard/lib/Gear/Effects:\

I have the native ones in Gear and the windows ones under Gear/Effects and Gear/

= windows machines =
The emulation uses some parts of wine at runtime. It needs kernel32.dll, e.g., MFC42.DLL, MSVCRT.DLL.
The original windows dll should also work.

Then you need to copy the all *.dll libraries from a windows buzz installation
to your LD_LIBARY_PATH. We recommend to copy them to buzztard-prefix/lib/win32.

Next copy the machines. You can e.g. just copy the whole Gear folder to
buzztard-prefix/lib as well.
You might need to fix some machine names (e.g. names with '?' in them).

= usage =
For testing, create a folder 'machines' and put some original buzz machines
in there. After building invoke :
  env LD_LIBRARY_PATH="./bml" ./bml/bmltest_info ./machines/mymachine.dll
or alternatively run the script to probe a whole directory with

If you have compiled with logging and set BML_DEBUG=1 before running, you'll get
more diagnostics. For even more logging edit dllwraper/wine/win32.c and enable

= building the BuzzMachineLoader.dll =
1) use MS developer studio
2) CC=/usr/local/bin/i386-mingw32-gcc CXX=/usr/local/bin/i386-mingw32-g++ make
   ^^^ does not work :/
3) ./configure --host=i386-mingw32 ... 
  cd src/BuzzMachineLoader changes
  make BuzzMachineLoader.dll

// when using fastcall
BuzzMachineLoader.cpp:83: undefined reference to `@_Z8DSP_Initi@4'
// normal symbol
BuzzMachineLoader.cpp:83: undefined reference to `DSP_Init(int)'
// name in lib
> i386-mingw32-nm dsplib.lib | grep DSP_Init
00000000 T ?DSP_Init@@YIXH@Z
00000000 I __imp_?DSP_Init@@YIXH@Z
However, the --enable-stdcall-fixup feature (which is on by default) has not yet
been extended to fastcall symbols. That is, an undefined symbol @foo@n will *not* 
automatically be resolved to a defined symbol foo. 

Maybe a own .def can help:

what about using winegcc - e.g.:
winegcc -shared XXX.dll.spec -mnocygwin -o abc.o def.o -lole32 -lwinmm -lpthread -luuid

= problems =
== /dev/zero needs to be executable ==
make sure your /dev/zero is executable (needed for mmap() )
== 64 bit builds ==
== missing dlls ==
sh winetricks mfc42 

Results 1 - 1 of 1
Help - FTP Sites List - Software Dir.
Search over 15 billion files
© 1997-2017