====================== DYNAMIC INTERFACE ====================== Interface modules that are specified with `-i' option can be loadable modules by using dynamic link module. Place the shared library interface_.so on the SHARED_LIB_PATH directory. In this case is the interface's ID that are specified at `-i' option. TiMidity++ requires to this shared library the following function: (the is the same as above) ControlMode* interface__loader(void) { ControlMode* ctl; /* ... */ return ctl; } If the dynamic interface that are specified at -i, TiMidity++ loads interface_.so at the SHARED_LIB_PATH (this is the macro specified in the Makefile) and calls a function in the shared library interface__loader(). If a file interface_.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.