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
|
====================== DYNAMIC INTERFACE ======================
Interface modules that are specified with `-i' option can be
loadable modules by using dynamic link module.
Place the shared library
if_<NAME>.so
on the SHARED_LIB_PATH directory. In this case <NAME> is the interface's
short name to be identified.
TiMidity++ requires to this shared library the following function:
(In this case <ID> is the interface's ID that are specified at `-i' option.)
ControlMode* interface_<ID>_loader(void)
{
ControlMode* ctl;
/* ... */
return ctl;
}
If the dynamic interface that are specified at -i<ID>, TiMidity++
loads if_<NAME>.so at the SHARED_LIB_PATH (this is the macro specified
in the Makefile) and calls a function in the shared library
interface_<ID>_loader().
If a file
if_<NAME>.txt
describing the information about the interface by 1 line is in the
SHARED_LIB_PATH, TiMidity++ displays this information when `-h'
option is specified.
WARNING:
You shouldn't specify the interface you want to build as dynamic link
as enabled in Makefile. TiMidity++ searches its interfaces first from
interfaces statically linked with TiMidity++, and next from dynamic linked
interfaces.
|