Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > b03e631a5c5ffe8534b1b04e5163b087 > files > 14

soma-2.4-1mdv2008.1.i586.rpm

to write a module for soma you need to create a library .so which this functions
useful for somad:

int module_init(char *);
  to initialize the module. Must return 0 if everything is OK, otherwise
  somad doesn't let the module continue.

char *module_run(char *);
  this must return something *good* for an audio sw such as mpg123 mplayer. 
  this return value will be freed by somad with a free() when not null.

char **module_exec(char *);
  this must return something *good* for array with NULL argoment as the last.
  this return value will be freed by somad with this code:

     char **list, **old;

     old=list=module_exec(...);
     ...
     while(*list) {
        free(*list);
        list++;
     }
     free(old);

char **module_list(char*);
  this must return somthing *good* from array with NULL argoment as the last.
  this return value will be freed by somad with a free when not null.

int module_quit(char *);
  the exit module function

char *module_name(void);
  the module name

int module_time_stop(char *);
  Must return a disactivation time of the play so that it sends back to 
  another module_run.

You must include and read the file soma/soma.h which contains all the DEFINE 
and all the functions useful for the module.

good hacking!