lumiera_/tests/plugin/plugin_main.c
Christian Thaeter 0283653026 Merge branch 'master' of git://git.pipapo.org/cinelerra3/ichthyo
Conflicts:

	tests/plugin/Makefile.am
	tests/plugin/plugin_main.c
2007-08-18 05:41:10 +02:00

60 lines
1.4 KiB
C

#include "lib/plugin.h"
#include "hello_interface.h"
int
main(int argc, char** argv)
{
NOBUG_INIT;
cinelerra_init_plugin ();
/*
we have a plugin 'hello_1' which provides us 2 hello interfaces, one for english and one for german output,
open both try them, close them.
*/
TODO("macros, doing casting and typing");
CINELERRA_INTERFACE_TYPE(hello, 1)* hello_de =
(CINELERRA_INTERFACE_TYPE(hello, 1)*) cinelerra_interface_open ("example_plugin", "german_1", sizeof(CINELERRA_INTERFACE_TYPE(hello, 1)));
if (!hello_de) CINELERRA_DIE;
hello_de->hello();
CINELERRA_INTERFACE_TYPE(hello, 1)* hello_en =
(CINELERRA_INTERFACE_TYPE(hello, 1)*) cinelerra_interface_open ("example_plugin", "english_1", sizeof(CINELERRA_INTERFACE_TYPE(hello, 1)));
if (!hello_en) CINELERRA_DIE;
hello_en->hello();
cinelerra_interface_close (hello_en);
cinelerra_interface_close (hello_de);
#if 0
/*
same again for a plugin written in C++
*/
hello_de =
cinelerra_interface_open ("hellocpp_1", "german_1", sizeof(struct hello_interface_1));
if (!hello_de) CINELERRA_DIE;
hello_de->say_hello();
hello_en =
cinelerra_interface_open ("hellocpp_1", "english_1", sizeof(struct hello_interface_1));
if (!hello_en) CINELERRA_DIE;
hello_en->say_hello();
cinelerra_interface_close (hello_en);
cinelerra_interface_close (hello_de);
#endif
return 0;
}