1====================== DYNAMIC INTERFACE ======================
2
3 Interface modules that are specified with `-i' option can be
4loadable modules by using dynamic link module.
5 Place the shared library
6
7 if_<NAME>.so
8
9on the SHARED_LIB_PATH directory. In this case <NAME> is the interface's
10short name to be identified.
11 TiMidity++ requires to this shared library the following function:
12 (In this case <ID> is the interface's ID that are specified at `-i' option.)
13
14ControlMode* interface_<ID>_loader(void)
15{
16	ControlMode* ctl;
17	/* ... */
18
19	return ctl;
20}
21
22 If the dynamic interface that are specified at -i<ID>, TiMidity++
23loads if_<NAME>.so at the SHARED_LIB_PATH (this is the macro specified
24in the Makefile) and calls a function in the shared library
25interface_<ID>_loader().
26
27 If a file
28
29 if_<NAME>.txt
30
31describing the information about the interface by 1 line is in the
32SHARED_LIB_PATH, TiMidity++ displays this information when `-h'
33option is specified.
34
35
36WARNING:
37
38 You shouldn't specify the interface you want to build as dynamic link
39as enabled in Makefile. TiMidity++ searches its interfaces first from
40interfaces statically linked with TiMidity++, and next from dynamic linked
41interfaces.
42
43