60 lines
1.4 KiB
C
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;
|
|
}
|