FTM externals


Class definition header and basic declarations

 FTMEXT_CLASS (_prefix_ extpackage, _prefix_ extclass, _typedef_struct_ exttype)
 function header (macro) for external class definition
 FTMEXT_CLASS_NAMED (_prefix_ extpackage, _prefix_ extclass, _typedef_struct_ exttype, char *classname)
 function header (macro) for external class definition
 FTMEXT_CLASS_DESCR (_prefix_ extclass, char *brief, char *full)
 class description (for documentation)
 FTMEXT_CLASS_DSP (_prefix_ extclass)
 declare class as DSP class

Class argument declaration

 FTMEXT_CLASS_ARGUMENT_NUMBER (_prefix_ extclass, int idx, _suffix_ meth, float def, char *doc)
 declare number argument
 FTMEXT_CLASS_ARGUMENT_SYMBOL (_prefix_ extclass, int idx, _suffix_ meth, fts_symbol_t def, char *doc)
 declare symbol argument
 FTMEXT_CLASS_ARGUMENT_OBJECT (_prefix_ extclass, fts_class_t *type, int idx, _suffix_ meth, fts_object_t *def, char *doc)
 declare FTM object argument
 FTMEXT_CLASS_ARGUMENT_ANY (_prefix_ extclass, int idx, _suffix_ meth, fts_atom_t *def, char *doc)
 declare argument of arbitrary type
 FTMEXT_CLASS_ARGUMENTS_VARARGS (_prefix_ extclass, _suffix_ meth, char *doc)
 declare argument varargs method to handle all arguments at ones

Class attribute declaration

 FTMEXT_CLASS_ATTRIBUTE_NUMBER (_prefix_ extclass, _suffix_ meth, int dynamic, char *doc)
 declare number attribute
 FTMEXT_CLASS_ATTRIBUTE_SYMBOL (_prefix_ extclass, _suffix_ meth, int dynamic, char *doc)
 declare symbol attribute
 FTMEXT_CLASS_ATTRIBUTE_BOOLEAN (_prefix_ extclass, _suffix_ meth, int field, char *doc)
 declare attribute of boolean value (0/1, 'yes'/'no', 'on'/'off', 'enable'/'disable')
 FTMEXT_CLASS_ATTRIBUTE_OBJECT (_prefix_ extclass, fts_class_t *type, _suffix_ meth, int dynamic, char *doc)
 declare FTM object attribute
 FTMEXT_CLASS_ATTRIBUTE_ANY (_prefix_ extclass, _suffix_ meth, int dynamic, char *doc)
 declare attribute of arbitrary value
 FTMEXT_CLASS_ATTRIBUTE_VARARGS (_prefix_ extclass, _suffix_ meth, int dynamic, char *doc)
 declare varargs attribute

Class message declaration

 FTMEXT_CLASS_MESSAGE_VOID (_prefix_ extclass, _suffix_ meth, char *doc)
 declaration of message without arguments
 FTMEXT_CLASS_MESSAGE_NUMBER (_prefix_ extclass, _suffix_ meth, char *doc)
 declaration of message with a single number argument
 FTMEXT_CLASS_MESSAGE_SYMBOL (_prefix_ extclass, _suffix_ meth, char *doc)
 declaration of message with a single symbol argument
 FTMEXT_CLASS_MESSAGE_BOOLEAN (_prefix_ extclass, _suffix_ meth, char *doc)
 declaration of message with a boolean argument (0/1, 'yes'/'no', 'on'/'off', 'enable'/'disable')
 FTMEXT_CLASS_MESSAGE_OBJECT (_prefix_ extclass, fts_class_t *type, _suffix_ meth, char *doc)
 declaration of message with a single FTM object (reference) argument
 FTMEXT_CLASS_MESSAGE_ANY (_prefix_ extclass, _suffix_ meth, char *doc)
 declaration of message with a single argument of arbitrary type
 FTMEXT_CLASS_MESSAGE_VARARGS (_prefix_ extclass, _suffix_ meth, char *doc)
 declaration of message with a variable number of arguments
 FTMEXT_CLASS_MESSAGE_ANYTHING (_prefix_ extclass, char *doc)
 declaration of anything message
 FTMEXT_CLASS_MESSAGE_BANG (_prefix_ extclass, _suffix_ meth, char *doc)
 declaration of bang message
 FTMEXT_CLASS_MESSAGE_VOID_NAMED (_prefix_ extclass, _suffix_ meth, char *name, char *doc)
 declaration of message without arguments (with non-canonical name)
 FTMEXT_CLASS_MESSAGE_VARARGS_NAMED (_prefix_ extclass, _suffix_ meth, char *name, char *doc)
 declaration of varargs message (with non-canonical name)

Class inlet declaration

 FTMEXT_CLASS_INLET_NUMBER (_prefix_ extclass, int idx, char *doc)
 declaration of an inlet accepting numbers
 FTMEXT_CLASS_INLET_OBJECT (_prefix_ extclass, fts_class_t *type, int idx, char *doc)
 declaration of an inlet accepting FTM object references
 FTMEXT_CLASS_INLET_ANY (_prefix_ extclass, int idx, char *doc)
 declaration of an inlet accepting values of abrbitrary type
 FTMEXT_CLASS_INLET_VARARGS (_prefix_ extclass, int idx, char *doc)
 declaration of an inlet accepting lists or single values of arbitrary type
 FTMEXT_CLASS_INLET_MULTI (_prefix_ extclass)
 declaration of a method handling a list corresponding to multiple inlets
 FTMEXT_CLASS_INLET_SIGNAL (_prefix_ extclass, int idx, char *doc)
 declare signal inlet

Class outlet declaration

 FTMEXT_CLASS_OUTLET (_prefix_ extclass, int idx, char *doc)
 declare arbitrary outlet
 FTMEXT_CLASS_OUTLET_BANG (_prefix_ extclass, int idx, char *doc)
 declare bang outlet
 FTMEXT_CLASS_OUTLET_NUMBER (_prefix_ extclass, int idx, char *doc)
 declare int outlet
 FTMEXT_CLASS_OUTLET_OBJECT (_prefix_ extclass, fts_class_t *type, int idx, char *doc)
 declare object outlet
 FTMEXT_CLASS_OUTLET_SIGNAL (_prefix_ extclass, int idx, char *doc)
 declare signal outlet

Class action handler and alarm callback declaration

 FTMEXT_CLASS_ACTION_OPEN (_prefix_ extclass)
 declare action handler for open (liked to double-click)
 FTMEXT_CLASS_ALARM (_prefix_ extclass, char *doc)
 declare alarm with callback FTMEXT_ALARM(_prefix_);
 FTMEXT_ALARM (_prefix_ extclass)
 declare callback that gets called by alarm

Constructor and deconstructor (init and delete methods)

 FTMEXT_INIT (_prefix_ extclass)
 header (marcro) of constructor definition (init method)
 FTMEXT_DELETE (_prefix_ extclass)
 header (marcro) of de constructor definition (delete method)
FTS_API void ftmext_set_inlets (ftmext_t *ext, int n)
 set number of signal inlets in constructor (init method)
FTS_API void ftmext_set_outlets (ftmext_t *ext, int n)
 set number of outlets in constructor (init method)
FTS_API void ftmext_set_dsp_outlets (ftmext_t *ext, int n)
 set number of signal outlets in constructor (init method)

Method definition (for arguments, attributes and messages)

 FTMEXT_METHOD_VOID (_prefix_ extclass, _suffix_ meth)
 header (macro) of argumentless method definition
 FTMEXT_METHOD_NUMBER (_prefix_ extclass, _suffix_ meth)
 header (macro) of number method definition
 FTMEXT_METHOD_SYMBOL (_prefix_ extclass, _suffix_ meth)
 header (macro) of symbol method definition
 FTMEXT_METHOD_BOOLEAN (_prefix_ extclass, _suffix_ meth)
 header (macro) of booelan method definition
 FTMEXT_METHOD_OBJECT (_prefix_ extclass, fts_class_t *type, _suffix_ meth)
 header (macro) of object method definition
 FTMEXT_METHOD_ANY (_prefix_ extclass, _suffix_ meth)
 header (macro) of method definition with single argument of abitrary type
 FTMEXT_METHOD_VARARGS (_prefix_ extclass, _suffix_ meth)
 header (macro) of varargs method definition
 FTMEXT_METHOD_ANYTHING (_prefix_ extclass)
 header (macro) of anything method definition

Inlet method definition

 FTMEXT_INLET (_prefix_ extclass)
 header (macro) of method definition for *the* inlet

Method utlilities

ftmext_t * FTMEXT_GET_EXT ()
 get pointer to ftmext object (self)
int FTMEXT_GET_INT ()
 get int argument (in number methods)
double FTMEXT_GET_FLOAT ()
 get float argument (in number methods)
double FTMEXT_GET_NUMBER ()
 get number (float) argument (in number methods)
fts_symbol_t FTMEXT_GET_SYMBOL ()
 get symbol argument (in symbol methods)
fts_object_tFTMEXT_GET_OBJECT ()
 get fts_object argument (in object methods)
fts_atom_t * FTMEXT_GET_ANY ()
 get single atom argument (in any methods)
int FTMEXT_GET_COUNT ()
 get argument count (in varargs and anything methods and external init)
fts_atom_t * FTMEXT_GET_ARGS ()
 get multiple arguments array (in varargs and anything methods and external init)
fts_symbol_t FTMEXT_GET_SELECTOR ()
 get method selector (in anything methods)
int FTMEXT_GET_INLET ()
 get inlet index (in inlet methods)
FTS_API void ftmext_outlet_bang (ftmext_t *ext, int w)
 send bang from given outlet
FTS_API void ftmext_outlet_int (ftmext_t *ext, int w, int i)
 send int from given outlet
FTS_API void ftmext_outlet_float (ftmext_t *ext, int w, double f)
 send float from given outlet
FTS_API void ftmext_outlet_number (ftmext_t *ext, int w, double f)
 send number (float) from given outlet
FTS_API void ftmext_outlet_symbol (ftmext_t *ext, int w, fts_symbol_t s)
 send symbol from given outlet
FTS_API void ftmext_outlet_object (ftmext_t *ext, int w, fts_object_t *o)
 send FTM object reference from given outlet
FTS_API void ftmext_outlet_any (ftmext_t *ext, int w, fts_atom_t *a)
 send any value from given outlet
FTS_API void ftmext_outlet_varargs (ftmext_t *ext, int w, int n, fts_atom_t *a)
 send varargs (list) from given outlet
FTS_API void ftmext_outlet_message (ftmext_t *ext, int w, fts_symbol_t s, int n, fts_atom_t *a)
 send message from given outlet
FTS_API void ftmext_alarm_set (ftmext_t *ext, double delay)
 set alarm to given delay
FTS_API void ftmext_alarm_reset (ftmext_t *ext)
 reset alarm (set to inifinit delay time)
FTS_API void ftmext_post (ftmext_t *ext, const char *format,...)
 posts error message to the console
FTS_API void ftmext_error (ftmext_t *ext, const char *format,...)
 posts message to the console

DSP method definition

 FTMEXT_DSP_INIT (_prefix_ extclass)
 header (macro) of DSP init method definition (method called at DSP start)
int FTMEXT_GET_DSP_SR ()
 get DSP sample rate (within DSP init method)
int FTMEXT_GET_DSP_SIZE ()
 get DSP vector size (within DSP init method)
 FTMEXT_DSP_PERFORM (_prefix_ extclass)
 header (macro) of DSP perform method definition
float * FTMEXT_GET_DSP_INPUT (int idx)
 get input signal vector (within DSP perform method)
float * FTMEXT_GET_DSP_OUTPUT (int idx)
 get output signal vector (within DSP perform method)
int FTMEXT_DSP_INLET_CONNECTED (int idx)
 test whether a given inlet is connected to a signal connection

Functions

 FTMEXT_HANDLER_OPEN (_prefix_ extclass)
 header of open action handler definiton
FTS_API void ftmext_file_open_dialog (ftmext_t *self, int ac, const fts_atom_t *at, ftmext_dialog_callback_t callback, fts_symbol_t prompt, fts_symbol_t type)
 open file dialog and call callback with file name as first argument
FTS_API void ftmext_file_save_dialog (ftmext_t *self, int ac, const fts_atom_t *at, ftmext_dialog_callback_t callback, fts_symbol_t prompt, fts_symbol_t type, fts_symbol_t default_name)
 open file dialog and call callback with file name as first argument


Function Documentation

FTMEXT_ALARM ( _prefix_  extclass  ) 

declare callback that gets called by alarm

Parameters:
extclass external class name prefix
This block has to end with FTMEXT_ALARM_RETURN.

FTS_API void ftmext_alarm_reset ( ftmext_t *  ext  ) 

reset alarm (set to inifinit delay time)

Parameters:
ext pointer to external object (self)

FTS_API void ftmext_alarm_set ( ftmext_t *  ext,
double  delay 
)

set alarm to given delay

Parameters:
ext pointer to external object (self)
delay alarm delay time

FTMEXT_CLASS ( _prefix_  extpackage,
_prefix_  extclass,
_typedef_struct_  exttype 
)

function header (macro) for external class definition

Parameters:
extpackage external package prefix (such as ftm, gbr, mnm)
extclass external class name prefix
exttype type struct of external (including ftmext_t as first field)
This function header is used for the class definition (library main function). The block has to end with FTMEXT_CLASS_RETURN.
 FTMEXT_CLASS(mypkg, myext, myext_t)
 {
 < argument declarations >
 < attribute declarations >
 < message declarations >
 < inlet/outlet declarations >
 
 FTMEXT_CLASS_RETURN;
 }

FTMEXT_CLASS_ACTION_OPEN ( _prefix_  extclass  ) 

declare action handler for open (liked to double-click)

Parameters:
extclass external class name prefix

FTMEXT_CLASS_ALARM ( _prefix_  extclass,
char *  doc 
)

declare alarm with callback FTMEXT_ALARM(_prefix_);

Parameters:
extclass external class name prefix
doc documentation about the alarm

FTMEXT_CLASS_ARGUMENT_ANY ( _prefix_  extclass,
int  idx,
_suffix_  meth,
fts_atom_t *  def,
char *  doc 
)

declare argument of arbitrary type

Parameters:
extclass external class name prefix
idx argument index
meth method name (_suffix_)
def default value
doc description string

FTMEXT_CLASS_ARGUMENT_NUMBER ( _prefix_  extclass,
int  idx,
_suffix_  meth,
float  def,
char *  doc 
)

declare number argument

Parameters:
extclass external class name prefix
idx argument index
meth method name (_suffix_)
def default value
doc description string

FTMEXT_CLASS_ARGUMENT_OBJECT ( _prefix_  extclass,
fts_class_t type,
int  idx,
_suffix_  meth,
fts_object_t def,
char *  doc 
)

declare FTM object argument

Parameters:
extclass external class name prefix
type FTM object class (NULL for any)
idx argument index
meth method name (_suffix_)
def default value
doc description string

FTMEXT_CLASS_ARGUMENT_SYMBOL ( _prefix_  extclass,
int  idx,
_suffix_  meth,
fts_symbol_t  def,
char *  doc 
)

declare symbol argument

Parameters:
extclass external class name prefix
idx argument index
meth method name (_suffix_)
def default value
doc description string

FTMEXT_CLASS_ARGUMENTS_VARARGS ( _prefix_  extclass,
_suffix_  meth,
char *  doc 
)

declare argument varargs method to handle all arguments at ones

Parameters:
extclass external class name prefix
meth method name (_suffix_)
doc description string

FTMEXT_CLASS_ATTRIBUTE_ANY ( _prefix_  extclass,
_suffix_  meth,
int  dynamic,
char *  doc 
)

declare attribute of arbitrary value

Parameters:
extclass external class name prefix
meth method name (_suffix_)
dynamic flag (FTMEXT_ATTRIBUTE_STATIC | FTMEXT_ATTRIBUTE_DYNAMIC) whether message is declared with the same name
doc description string

FTMEXT_CLASS_ATTRIBUTE_BOOLEAN ( _prefix_  extclass,
_suffix_  meth,
int  field,
char *  doc 
)

declare attribute of boolean value (0/1, 'yes'/'no', 'on'/'off', 'enable'/'disable')

Parameters:
extclass external class name prefix
meth method name (_suffix_)
field onset of a field in the class' data structure or flag (FTMEXT_ATTRIBUTE_STATIC | FTMEXT_ATTRIBUTE_DYNAMIC)
doc description string

FTMEXT_CLASS_ATTRIBUTE_NUMBER ( _prefix_  extclass,
_suffix_  meth,
int  dynamic,
char *  doc 
)

declare number attribute

Parameters:
extclass external class name prefix
meth method name (_suffix_)
dynamic flag (FTMEXT_ATTRIBUTE_STATIC | FTMEXT_ATTRIBUTE_DYNAMIC) whether message is declared with the same name
doc description string

FTMEXT_CLASS_ATTRIBUTE_OBJECT ( _prefix_  extclass,
fts_class_t type,
_suffix_  meth,
int  dynamic,
char *  doc 
)

declare FTM object attribute

Parameters:
extclass external class name prefix
type FTM object class (NULL for any)
meth method name (_suffix_)
dynamic flag (FTMEXT_ATTRIBUTE_STATIC | FTMEXT_ATTRIBUTE_DYNAMIC) whether message is declared with the same name
doc description string

FTMEXT_CLASS_ATTRIBUTE_SYMBOL ( _prefix_  extclass,
_suffix_  meth,
int  dynamic,
char *  doc 
)

declare symbol attribute

Parameters:
extclass external class name prefix
meth method name (_suffix_)
dynamic flag (FTMEXT_ATTRIBUTE_STATIC | FTMEXT_ATTRIBUTE_DYNAMIC) whether message is declared with the same name
doc description string

FTMEXT_CLASS_ATTRIBUTE_VARARGS ( _prefix_  extclass,
_suffix_  meth,
int  dynamic,
char *  doc 
)

declare varargs attribute

Parameters:
extclass external class name prefix
meth method name (_suffix_)
dynamic flag (FTMEXT_ATTRIBUTE_STATIC | FTMEXT_ATTRIBUTE_DYNAMIC) whether message is declared with the same name
doc description string

FTMEXT_CLASS_DESCR ( _prefix_  extclass,
char *  brief,
char *  full 
)

class description (for documentation)

Parameters:
extclass external class name prefix
brief brief description (a few words)
full full description (HTML)
This function header is used for DSP class definition. The block has to be terminated by FTMEXT_CLASS_RETURN.

FTMEXT_CLASS_DSP ( _prefix_  extclass  ) 

declare class as DSP class

Parameters:
extclass external class name prefix
 FTMEXT_CLASS_NAMED(mypkg, myext, myext_t, "mypkg.myname")
 {
 FTMEXT_CLASS_DESCR(_prefix_ extclass, "example class", "This is an example of e class definition.");
 
 < argument declarations >
 < attribute declarations >
 < message declarations >
 < inlet/outlet declarations >
 
 FTMEXT_CLASS_RETURN;
 }

FTMEXT_CLASS_INLET_ANY ( _prefix_  extclass,
int  idx,
char *  doc 
)

declaration of an inlet accepting values of abrbitrary type

Parameters:
extclass external class name prefix
idx inlet index
doc description string

FTMEXT_CLASS_INLET_MULTI ( _prefix_  extclass  ) 

declaration of a method handling a list corresponding to multiple inlets

Parameters:
extclass external class name prefix

FTMEXT_CLASS_INLET_NUMBER ( _prefix_  extclass,
int  idx,
char *  doc 
)

declaration of an inlet accepting numbers

Parameters:
extclass external class name prefix
idx inlet index
doc description string

FTMEXT_CLASS_INLET_OBJECT ( _prefix_  extclass,
fts_class_t type,
int  idx,
char *  doc 
)

declaration of an inlet accepting FTM object references

Parameters:
extclass external class name prefix
type FTM object class (NULL for any)
idx inlet index
doc description string

FTMEXT_CLASS_INLET_SIGNAL ( _prefix_  extclass,
int  idx,
char *  doc 
)

declare signal inlet

Parameters:
extclass external class name prefix
idx inlet index
doc description string

FTMEXT_CLASS_INLET_VARARGS ( _prefix_  extclass,
int  idx,
char *  doc 
)

declaration of an inlet accepting lists or single values of arbitrary type

Parameters:
extclass external class name prefix
idx inlet index
doc description string

FTMEXT_CLASS_MESSAGE_ANY ( _prefix_  extclass,
_suffix_  meth,
char *  doc 
)

declaration of message with a single argument of arbitrary type

Parameters:
extclass external class name prefix
meth method name (_suffix_)
doc description string

FTMEXT_CLASS_MESSAGE_ANYTHING ( _prefix_  extclass,
char *  doc 
)

declaration of anything message

Parameters:
extclass external class name prefix
doc description string

FTMEXT_CLASS_MESSAGE_BANG ( _prefix_  extclass,
_suffix_  meth,
char *  doc 
)

declaration of bang message

Parameters:
extclass external class name prefix
meth method name (_suffix_)
doc description string

FTMEXT_CLASS_MESSAGE_BOOLEAN ( _prefix_  extclass,
_suffix_  meth,
char *  doc 
)

declaration of message with a boolean argument (0/1, 'yes'/'no', 'on'/'off', 'enable'/'disable')

Parameters:
extclass external class name prefix
meth method name (_suffix_)
doc description string

FTMEXT_CLASS_MESSAGE_NUMBER ( _prefix_  extclass,
_suffix_  meth,
char *  doc 
)

declaration of message with a single number argument

Parameters:
extclass external class name prefix
meth method name (_suffix_)
doc description string

FTMEXT_CLASS_MESSAGE_OBJECT ( _prefix_  extclass,
fts_class_t type,
_suffix_  meth,
char *  doc 
)

declaration of message with a single FTM object (reference) argument

Parameters:
extclass external class name prefix
type class of object (reference) argument
meth method name (_suffix_)
doc description string

FTMEXT_CLASS_MESSAGE_SYMBOL ( _prefix_  extclass,
_suffix_  meth,
char *  doc 
)

declaration of message with a single symbol argument

Parameters:
extclass external class name prefix
meth method name (_suffix_)
doc description string

FTMEXT_CLASS_MESSAGE_VARARGS ( _prefix_  extclass,
_suffix_  meth,
char *  doc 
)

declaration of message with a variable number of arguments

Parameters:
extclass external class name prefix
meth method name (_suffix_)
doc description string

FTMEXT_CLASS_MESSAGE_VARARGS_NAMED ( _prefix_  extclass,
_suffix_  meth,
char *  name,
char *  doc 
)

declaration of varargs message (with non-canonical name)

Parameters:
extclass external class name prefix
meth method name (_suffix_)
name message name (selector)
doc description string

FTMEXT_CLASS_MESSAGE_VOID ( _prefix_  extclass,
_suffix_  meth,
char *  doc 
)

declaration of message without arguments

Parameters:
extclass external class name prefix
meth method name (_suffix_)
doc description string

FTMEXT_CLASS_MESSAGE_VOID_NAMED ( _prefix_  extclass,
_suffix_  meth,
char *  name,
char *  doc 
)

declaration of message without arguments (with non-canonical name)

Parameters:
extclass external class name prefix
meth method name (_suffix_)
name message name (selector)
doc description string

FTMEXT_CLASS_NAMED ( _prefix_  extpackage,
_prefix_  extclass,
_typedef_struct_  exttype,
char *  classname 
)

function header (macro) for external class definition

Parameters:
extpackage external package prefix (such as ftm, gbr, mnm)
extclass external class name prefix
exttype type struct of external (including ftmext_t as first field)
classname complete external class name (when different from "extpackage.extclass")
This function header is used for the class definition (library main function). The block has to be terminated by FTMEXT_CLASS_RETURN.
 FTMEXT_CLASS_NAMED(mypkg, myext, myext_t, "mypkg.example~")
 {
 FTMEXT_CLASS_DESCR(_prefix_ extclass, "example class", "This is an example of e class definition.");
 
 < argument declarations >
 < attribute declarations >
 < message declarations >
 < inlet/outlet declarations >
 
 FTMEXT_CLASS_RETURN;
 }

FTMEXT_CLASS_OUTLET ( _prefix_  extclass,
int  idx,
char *  doc 
)

declare arbitrary outlet

Parameters:
extclass external class name prefix
idx outlet index
doc description string

FTMEXT_CLASS_OUTLET_BANG ( _prefix_  extclass,
int  idx,
char *  doc 
)

declare bang outlet

Parameters:
extclass external class name prefix
idx outlet index
doc description string

FTMEXT_CLASS_OUTLET_NUMBER ( _prefix_  extclass,
int  idx,
char *  doc 
)

declare int outlet

Parameters:
extclass external class name prefix
idx outlet index
doc description string

FTMEXT_CLASS_OUTLET_OBJECT ( _prefix_  extclass,
fts_class_t type,
int  idx,
char *  doc 
)

declare object outlet

Parameters:
extclass external class name prefix
type FTM object class (NULL for any)
idx outlet index
doc description string

FTMEXT_CLASS_OUTLET_SIGNAL ( _prefix_  extclass,
int  idx,
char *  doc 
)

declare signal outlet

Parameters:
extclass external class name prefix
idx outlet index
doc description string

FTMEXT_DELETE ( _prefix_  extclass  ) 

header (marcro) of de constructor definition (delete method)

Parameters:
extclass external class name prefix
The block has to be terminated by FTMEXT_DELETE_RETURN.

FTMEXT_DSP_INIT ( _prefix_  extclass  ) 

header (macro) of DSP init method definition (method called at DSP start)

Parameters:
extclass external class name prefix

int FTMEXT_DSP_INLET_CONNECTED ( int  idx  ) 

test whether a given inlet is connected to a signal connection

Parameters:
idx DSP inlet index
Returns:
boolean connected

FTMEXT_DSP_PERFORM ( _prefix_  extclass  ) 

header (macro) of DSP perform method definition

Parameters:
extclass external class name prefix

FTS_API void ftmext_error ( ftmext_t *  ext,
const char *  format,
  ... 
)

posts message to the console

Parameters:
ext pointer to external object (self)
format error message (printf format)

FTS_API void ftmext_file_open_dialog ( ftmext_t *  self,
int  ac,
const fts_atom_t *  at,
ftmext_dialog_callback_t  callback,
fts_symbol_t  prompt,
fts_symbol_t  type 
)

open file dialog and call callback with file name as first argument

Parameters:
self 
ac number of arguments passed to the call back function (with file name prepended)
at arguments passed to the call back function (with file name prepended)
callback function to be called when returning from the file dialog
prompt prompt in the file dialog
type file type/suffix

FTS_API void ftmext_file_save_dialog ( ftmext_t *  self,
int  ac,
const fts_atom_t *  at,
ftmext_dialog_callback_t  callback,
fts_symbol_t  prompt,
fts_symbol_t  type,
fts_symbol_t  default_name 
)

open file dialog and call callback with file name as first argument

Parameters:
self 
ac number of arguments passed to the call back function (with file name prepended)
at arguments passed to the call back function (with file name prepended)
callback function to be called when returning from the file dialog
prompt prompt in the file dialog
type file type/suffix
default_name default filename (optionally) to be used in the file dialog

fts_atom_t* FTMEXT_GET_ANY (  ) 

get single atom argument (in any methods)

Returns:
atom argument

fts_atom_t* FTMEXT_GET_ARGS (  ) 

get multiple arguments array (in varargs and anything methods and external init)

Returns:
pointer to arguments array

int FTMEXT_GET_COUNT (  ) 

get argument count (in varargs and anything methods and external init)

Returns:
argument count

float* FTMEXT_GET_DSP_INPUT ( int  idx  ) 

get input signal vector (within DSP perform method)

Parameters:
idx DSP inlet index
Returns:
pointer to signal vector

float* FTMEXT_GET_DSP_OUTPUT ( int  idx  ) 

get output signal vector (within DSP perform method)

Parameters:
idx DSP outlet index
Returns:
pointer to signal vector

int FTMEXT_GET_DSP_SIZE (  ) 

get DSP vector size (within DSP init method)

Returns:
DSP vector size

int FTMEXT_GET_DSP_SR (  ) 

get DSP sample rate (within DSP init method)

Returns:
DSP sample rate

ftmext_t* FTMEXT_GET_EXT (  ) 

get pointer to ftmext object (self)

Returns:
pointer to ftmext

double FTMEXT_GET_FLOAT (  ) 

get float argument (in number methods)

Returns:
float argument

int FTMEXT_GET_INLET (  ) 

get inlet index (in inlet methods)

Returns:
index of current inlet

int FTMEXT_GET_INT (  ) 

get int argument (in number methods)

Returns:
int argument

double FTMEXT_GET_NUMBER (  ) 

get number (float) argument (in number methods)

Returns:
number (float) argument

fts_object_t* FTMEXT_GET_OBJECT (  ) 

get fts_object argument (in object methods)

Returns:
fts_object argument

fts_symbol_t FTMEXT_GET_SELECTOR (  ) 

get method selector (in anything methods)

Returns:
message selector

fts_symbol_t FTMEXT_GET_SYMBOL (  ) 

get symbol argument (in symbol methods)

Returns:
symbol argument

FTMEXT_HANDLER_OPEN ( _prefix_  extclass  ) 

header of open action handler definiton

Parameters:
extclass external class name prefix

FTMEXT_INIT ( _prefix_  extclass  ) 

header (marcro) of constructor definition (init method)

Parameters:
extclass external class name prefix
The block has to be terminated by FTMEXT_INIT_RETURN.

FTMEXT_INLET ( _prefix_  extclass  ) 

header (macro) of method definition for *the* inlet

Parameters:
extclass external class name prefix
The block has to be terminated by FTMEXT_INLET_RETURN.
 FTMEXT_INLET(myext)
 {
 ftmext_t *self = FTMEXT_GET_EXT();
 int inlet = FTMEXT_GET_INLET();
 
 < method implementation >
 
 FTMEXT_INLET_RETURN;
 }

FTMEXT_METHOD_ANY ( _prefix_  extclass,
_suffix_  meth 
)

header (macro) of method definition with single argument of abitrary type

Parameters:
extclass external class name prefix
meth method name (_suffix_)
The block has to be terminated by FTMEXT_METHOD_RETURN.
 FTMEXT_METHOD_ANY(myext)
 {
 ftmext_t *self = FTMEXT_GET_EXT();
 fts_atom_t *atomarg = FTMEXT_GET_ANY();
 
 < method implementation >
 
 FTMEXT_METHOD_RETURN;
 }

FTMEXT_METHOD_ANYTHING ( _prefix_  extclass  ) 

header (macro) of anything method definition

Parameters:
extclass external class name prefix
The block has to be terminated by FTMEXT_METHOD_RETURN.
 FTMEXT_METHOD_ANYTHING(myext)
 {
 ftmext_t *self = FTMEXT_GET_EXT();
 fts_symbol_t s = FTMEXT_GET_SELECTOR();
 int ac = FTMEXT_GET_COUNT();
 fts_atom_t *at = FTMEXT_GET_ARGS();
 
 < method implementation >
 
 FTMEXT_METHOD_RETURN;
 }

FTMEXT_METHOD_BOOLEAN ( _prefix_  extclass,
_suffix_  meth 
)

header (macro) of booelan method definition

Parameters:
extclass external class name prefix
meth method name (_suffix_)
The block has to be terminated by FTMEXT_METHOD_RETURN.
 FTMEXT_METHOD_BOOLEAN(myext, mymeth)
 {
 ftmext_t *self = FTMEXT_GET_EXT();
 int boolarg = FTMEXT_GET_INT();
 
 < method implementation >
 
 FTMEXT_METHOD_RETURN;
 }

FTMEXT_METHOD_NUMBER ( _prefix_  extclass,
_suffix_  meth 
)

header (macro) of number method definition

Parameters:
extclass external class name prefix
meth method name (_suffix_)
The block has to be terminated by FTMEXT_METHOD_RETURN.
 FTMEXT_METHOD_NUMBER(myext)
 {
 ftmext_t *self = FTMEXT_GET_EXT();
 int intarg = FTMEXT_GET_INT();
 double intarg = FTMEXT_GET_FLOAT();
 
 < method implementation >
 
 FTMEXT_METHOD_RETURN;
 }

FTMEXT_METHOD_OBJECT ( _prefix_  extclass,
fts_class_t type,
_suffix_  meth 
)

header (macro) of object method definition

Parameters:
extclass external class name prefix
type FTM object class
meth method name (_suffix_)
The block has to be terminated by FTMEXT_METHOD_RETURN.
 FTMEXT_METHOD_OBJECT(myext, type)
 {
 ftmext_t *self = FTMEXT_GET_EXT();
 fts_symbol_t objarg = FTMEXT_GET_OBJECT();
 
 < method implementation >
 
 FTMEXT_METHOD_RETURN;
 }

FTMEXT_METHOD_SYMBOL ( _prefix_  extclass,
_suffix_  meth 
)

header (macro) of symbol method definition

Parameters:
extclass external class name prefix
meth method name (_suffix_)
The block has to be terminated by FTMEXT_METHOD_RETURN.
 FTMEXT_METHOD_SYMBOL(myext)
 {
 ftmext_t *self = FTMEXT_GET_EXT();
 fts_symbol_t symarg = FTMEXT_GET_SYMBOL();
 
 < method implementation >
 
 FTMEXT_METHOD_RETURN;
 }

FTMEXT_METHOD_VARARGS ( _prefix_  extclass,
_suffix_  meth 
)

header (macro) of varargs method definition

Parameters:
extclass external class name prefix
meth method name (_suffix_)
The block has to be terminated by FTMEXT_METHOD_RETURN.
 FTMEXT_METHOD_VARARGS(myext)
 {
 ftmext_t *self = FTMEXT_GET_EXT();
 int ac = FTMEXT_GET_COUNT();
 fts_atom_t *at = FTMEXT_GET_ARGS();
 
 < method implementation >
 
 FTMEXT_METHOD_RETURN;
 }

FTMEXT_METHOD_VOID ( _prefix_  extclass,
_suffix_  meth 
)

header (macro) of argumentless method definition

Parameters:
extclass external class name prefix
meth method name (_suffix_)
The block has to be terminated by FTMEXT_METHOD_RETURN.
 FTMEXT_METHOD_VOID(myext)
 {
 ftmext_t *self = FTMEXT_GET_EXT();
 
 < method implementation >
 
 FTMEXT_METHOD_RETURN;
 }

FTS_API void ftmext_outlet_any ( ftmext_t *  ext,
int  w,
fts_atom_t *  a 
)

send any value from given outlet

Parameters:
ext pointer to external object (self)
w outlet index (leftmost inlet is 0)
a arbitrary values

FTS_API void ftmext_outlet_bang ( ftmext_t *  ext,
int  w 
)

send bang from given outlet

Parameters:
ext pointer to external object (self)
w outlet index (leftmost inlet is 0)

FTS_API void ftmext_outlet_float ( ftmext_t *  ext,
int  w,
double  f 
)

send float from given outlet

Parameters:
ext pointer to external object (self)
w outlet index (leftmost inlet is 0)
f float value

FTS_API void ftmext_outlet_int ( ftmext_t *  ext,
int  w,
int  i 
)

send int from given outlet

Parameters:
ext pointer to external object (self)
w outlet index (leftmost inlet is 0)
i int value

FTS_API void ftmext_outlet_message ( ftmext_t *  ext,
int  w,
fts_symbol_t  s,
int  n,
fts_atom_t *  a 
)

send message from given outlet

Parameters:
ext pointer to external object (self)
w outlet index (leftmost inlet is 0)
s message selector
n number of message arguments
a array of message arguments

FTS_API void ftmext_outlet_number ( ftmext_t *  ext,
int  w,
double  f 
)

send number (float) from given outlet

Parameters:
ext pointer to external object (self)
w outlet index (leftmost inlet is 0)
f number (float) value

FTS_API void ftmext_outlet_object ( ftmext_t *  ext,
int  w,
fts_object_t o 
)

send FTM object reference from given outlet

Parameters:
ext pointer to external object (self)
w outlet index (leftmost inlet is 0)
o reference to FTM object (fts_object_t *)

FTS_API void ftmext_outlet_symbol ( ftmext_t *  ext,
int  w,
fts_symbol_t  s 
)

send symbol from given outlet

Parameters:
ext pointer to external object (self)
w outlet index (leftmost inlet is 0)
s symbol value

FTS_API void ftmext_outlet_varargs ( ftmext_t *  ext,
int  w,
int  n,
fts_atom_t *  a 
)

send varargs (list) from given outlet

Parameters:
ext pointer to external object (self)
w outlet index (leftmost inlet is 0)
n number of values
a array of values

FTS_API void ftmext_post ( ftmext_t *  ext,
const char *  format,
  ... 
)

posts error message to the console

Parameters:
ext pointer to external object (self)
format message (printf format)

FTS_API void ftmext_set_dsp_outlets ( ftmext_t *  ext,
int  n 
)

set number of signal outlets in constructor (init method)

Parameters:
ext pointer to external object (self)
n number of signal outlets

FTS_API void ftmext_set_inlets ( ftmext_t *  ext,
int  n 
)

set number of signal inlets in constructor (init method)

Parameters:
ext pointer to external object (self)
n number of inlets

FTS_API void ftmext_set_outlets ( ftmext_t *  ext,
int  n 
)

set number of outlets in constructor (init method)

Parameters:
ext pointer to external object (self)
n number of outlets


Generated on Wed Aug 24 18:28:43 2011 for FTM API by  doxygen 1.5.6