libpsynth 0.2.1
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions
psynth::graph::node Class Reference

#include <node.hpp>

Inheritance diagram for psynth::graph::node:
Inheritance graph
[legend]
Collaboration diagram for psynth::graph::node:
Collaboration graph
[legend]

List of all members.

Classes

class  in_socket
class  in_socket_manual
class  out_socket

Public Types

enum  link_type { LINK_NONE = -1, LINK_AUDIO, LINK_CONTROL, LINK_TYPES }
enum  commom_params { PARAM_POSITION = 0, PARAM_RADIOUS, PARAM_MUTE, N_COMMON_PARAMS }
typedef synth::simple_envelope
< sample_range
link_envelope
typedef base::ptr_iterator
< base::map_iterator
< in_map::key_type,
in_map::mapped_type > > 
input_iterator
typedef base::ptr_iterator
< base::map_iterator
< out_map::key_type,
out_map::mapped_type > > 
output_iterator
typedef base::ptr_iterator
< base::map_iterator
< param_map::key_type,
param_map::mapped_type > > 
param_iterator
typedef base::ptr_iterator
< base::map_iterator
< state_map::key_type,
state_map::mapped_type > > 
state_iterator
typedef boost::iterator_range
< input_iterator
input_range
typedef boost::iterator_range
< output_iterator
output_range
typedef boost::iterator_range
< param_iterator
param_range
typedef boost::iterator_range
< state_iterator
state_range

Public Member Functions

 node (const audio_info &prop, int type, const std::string &name, int inaudiosocks, int incontrolsocks, int outaudiosocks, int outcontrolsocks, bool single_update=true)
virtual ~node ()
int get_type () const
const std::string & get_name () const
void update_params_in ()
void update (const node *caller, int caller_port_type, int caller_port)
void advance ()
const audio_infoget_info () const
void set_info (const audio_info &info)
void attach_watch (int type, int in_socket, watch *watch)
void detach_watch (int type, int in_socket, watch *watch)
void connect_in (int type, int in_socket, node *src, int out_socket)
void force_connect_in (int type, int in_socket, node *src, int out_socket)
void clear_connections ()
bool has_connections ()
node_paramparam (int id)
const node_paramparam (int id) const
node_paramget_param (const std::string &name)
const node_paramget_param (const std::string &name) const
template<typename SocketDataType >
const SocketDataType * get_output (int type, int socket) const
template<typename SocketDataType >
const SocketDataType * get_input (int type, int socket) const
const out_socketget_out_socket (int type, int socket) const
const in_socketget_in_socket (int type, int socket) const
int get_num_output (int type) const
int get_num_input (int type) const
int get_id () const
void set_id (int id)
float distance_to (const node &obj) const
float sqr_distance_to (const node &obj) const
float distance_to_center () const
float sqr_distance_to_center () const
float distance_to (const base::vector_2f &obj) const
float sqr_distance_to (const base::vector_2f &obj) const
 node ()
virtual void rt_process (rt_process_context &ctx)
virtual void rt_context_update (rt_process_context &ctx)
virtual void rt_advance ()
in_port_basein (const std::string &name)
const in_port_basein (const std::string &name) const
input_range inputs ()
out_port_baseout (const std::string &name)
const out_port_baseout (const std::string &name) const
output_range outputs ()
in_control_baseparam (const std::string &name)
const in_control_baseparam (const std::string &name) const
param_range params ()
out_control_basestate (const std::string &name)
const out_control_basestate (const std::string &name) const
state_range states ()
void register_component (in_port_base &in)
void register_component (out_port_base &out)
void register_component (in_control_base &param)
void register_component (out_control_base &state)
void unregister_component (in_port_base &in)
void unregister_component (out_port_base &out)
void attach_to_process (processor &p)
void detach_from_process ()
void attach_to_patch (core::patch &p)
void detach_from_patch ()
processorprocess ()
const processorprocess () const
core::patchpatch ()
const core::patchpatch () const
bool is_attached_to_process () const
bool is_attached_to_patch () const
void check_attached_to_process (bool attached=true) const
void check_attached_to_patch (bool attached=true) const
template<class Fn >
void execute_rt (const Fn &fn)

Public Attributes

patch_child_hook _patch_child_hook

Static Public Attributes

static const int NULL_ID = -1

Protected Member Functions

template<typename SocketDataType >
SocketDataType * get_output (int type, int socket)
void set_output_stable_value (int sock_type, int sock_num, sample value)
virtual void do_update (const node *caller, int caller_port_type, int caller_port)=0
virtual void do_advance ()=0
virtual void on_info_change ()=0
void del_param (int index)
void add_param (const std::string &, int type, void *val)
void add_param (const std::string &, int type, void *val, node_param::event ev)
link_envelope get_in_envelope (int type, int sock)

Member Typedef Documentation

typedef base::ptr_iterator< base::map_iterator<in_map::key_type, in_map::mapped_type> > psynth::graph::node::input_iterator
typedef boost::iterator_range<input_iterator> psynth::graph::node::input_range
typedef base::ptr_iterator< base::map_iterator<out_map::key_type, out_map::mapped_type> > psynth::graph::node::output_iterator
typedef boost::iterator_range<output_iterator> psynth::graph::node::output_range
typedef base::ptr_iterator< base::map_iterator<param_map::key_type, param_map::mapped_type> > psynth::graph::node::param_iterator
typedef boost::iterator_range<param_iterator> psynth::graph::node::param_range
typedef base::ptr_iterator< base::map_iterator<state_map::key_type, state_map::mapped_type> > psynth::graph::node::state_iterator
typedef boost::iterator_range<state_iterator> psynth::graph::node::state_range

Member Enumeration Documentation

Enumerator:
PARAM_POSITION 
PARAM_RADIOUS 
PARAM_MUTE 
N_COMMON_PARAMS 
Enumerator:
LINK_NONE 
LINK_AUDIO 
LINK_CONTROL 
LINK_TYPES 

Constructor & Destructor Documentation

psynth::graph::node::node ( const audio_info prop,
int  type,
const std::string &  name,
int  inaudiosocks,
int  incontrolsocks,
int  outaudiosocks,
int  outcontrolsocks,
bool  single_update = true 
)
psynth::graph::node::~node ( ) [virtual]
psynth::graph::node::node ( )

Member Function Documentation

void psynth::graph::node::add_param ( const std::string &  name,
int  type,
void *  val 
) [protected]
void psynth::graph::node::add_param ( const std::string &  name,
int  type,
void *  val,
node_param::event  ev 
) [protected]
void psynth::graph::node::advance ( ) [inline]
void psynth::graph::node::attach_to_patch ( core::patch p)
void psynth::graph::node::attach_to_process ( processor p)
void psynth::graph::node::attach_watch ( int  type,
int  in_socket,
watch watch 
) [inline]
void psynth::graph::node::check_attached_to_patch ( bool  attached = true) const [inline]
void psynth::graph::node::check_attached_to_process ( bool  attached = true) const [inline]
void psynth::graph::node::clear_connections ( )
void psynth::graph::node::connect_in ( int  type,
int  in_socket,
node src,
int  out_socket 
)
void psynth::graph::node::del_param ( int  index) [protected]
void psynth::graph::node::detach_from_patch ( )
void psynth::graph::node::detach_from_process ( )
void psynth::graph::node::detach_watch ( int  type,
int  in_socket,
watch watch 
) [inline]
float psynth::graph::node::distance_to ( const node obj) const [inline]
float psynth::graph::node::distance_to ( const base::vector_2f obj) const [inline]
float psynth::graph::node::distance_to_center ( ) const [inline]
virtual void psynth::graph::node::do_advance ( ) [protected, pure virtual]
virtual void psynth::graph::node::do_update ( const node caller,
int  caller_port_type,
int  caller_port 
) [protected, pure virtual]
template<class Fn >
void psynth::graph::node::execute_rt ( const Fn &  fn)
void psynth::graph::node::force_connect_in ( int  type,
int  in_socket,
node src,
int  out_socket 
)
int psynth::graph::node::get_id ( ) const [inline]
link_envelope psynth::graph::node::get_in_envelope ( int  type,
int  sock 
) [inline, protected]
const in_socket& psynth::graph::node::get_in_socket ( int  type,
int  socket 
) const [inline]
const audio_info& psynth::graph::node::get_info ( ) const [inline]
template<typename SocketDataType >
const SocketDataType* psynth::graph::node::get_input ( int  type,
int  socket 
) const [inline]
const std::string& psynth::graph::node::get_name ( ) const [inline]
int psynth::graph::node::get_num_input ( int  type) const [inline]
int psynth::graph::node::get_num_output ( int  type) const [inline]
const out_socket& psynth::graph::node::get_out_socket ( int  type,
int  socket 
) const [inline]
template<typename SocketDataType >
SocketDataType* psynth::graph::node::get_output ( int  type,
int  socket 
) [inline, protected]
template<typename SocketDataType >
const SocketDataType* psynth::graph::node::get_output ( int  type,
int  socket 
) const [inline]
node_param & psynth::graph::node::get_param ( const std::string &  name)
const node_param & psynth::graph::node::get_param ( const std::string &  name) const
int psynth::graph::node::get_type ( ) const [inline]
bool psynth::graph::node::has_connections ( )
in_port_base & psynth::graph::node::in ( const std::string &  name)
const in_port_base & psynth::graph::node::in ( const std::string &  name) const
node::input_range psynth::graph::node::inputs ( )
bool psynth::graph::node::is_attached_to_patch ( ) const [inline]
bool psynth::graph::node::is_attached_to_process ( ) const [inline]
virtual void psynth::graph::node::on_info_change ( ) [protected, pure virtual]
const out_port_base & psynth::graph::node::out ( const std::string &  name) const
out_port_base & psynth::graph::node::out ( const std::string &  name)
node::output_range psynth::graph::node::outputs ( )
const node_param& psynth::graph::node::param ( int  id) const [inline]
node_param& psynth::graph::node::param ( int  id) [inline]
in_control_base & psynth::graph::node::param ( const std::string &  name)
const in_control_base & psynth::graph::node::param ( const std::string &  name) const
node::param_range psynth::graph::node::params ( )
core::patch& psynth::graph::node::patch ( ) [inline]
const core::patch& psynth::graph::node::patch ( ) const [inline]
const processor& psynth::graph::node::process ( ) const [inline]
processor& psynth::graph::node::process ( ) [inline]
void psynth::graph::node::register_component ( out_port_base out)
void psynth::graph::node::register_component ( in_control_base param)
void psynth::graph::node::register_component ( in_port_base in)
void psynth::graph::node::register_component ( out_control_base state)
void psynth::graph::node::rt_advance ( ) [virtual]

Reimplemented in psynth::graph::core::patch.

void psynth::graph::node::rt_context_update ( rt_process_context ctx) [virtual]

Reimplemented in psynth::graph::core::patch.

void psynth::graph::node::rt_process ( rt_process_context ctx) [virtual]

Reimplemented in psynth::graph::core::patch.

void psynth::graph::node::set_id ( int  id) [inline]
void psynth::graph::node::set_info ( const audio_info info)
void psynth::graph::node::set_output_stable_value ( int  sock_type,
int  sock_num,
sample  value 
) [inline, protected]
float psynth::graph::node::sqr_distance_to ( const node obj) const [inline]
float psynth::graph::node::sqr_distance_to ( const base::vector_2f obj) const [inline]
float psynth::graph::node::sqr_distance_to_center ( ) const [inline]
const out_control_base & psynth::graph::node::state ( const std::string &  name) const
out_control_base & psynth::graph::node::state ( const std::string &  name)
node::state_range psynth::graph::node::states ( )
void psynth::graph::node::unregister_component ( out_port_base out)
void psynth::graph::node::unregister_component ( in_port_base in)
void psynth::graph::node::update ( const node caller,
int  caller_port_type,
int  caller_port 
)
void psynth::graph::node::update_params_in ( )

Member Data Documentation

const int psynth::graph::node::NULL_ID = -1 [static]

The documentation for this class was generated from the following files: