BSE Interface Reference

/opt/src/beast/bse/bseitem.h

SYNOPSIS

struct  _BseItem;
struct  _BseItemClass;
   
void  bse_item_backup_to_undo  (self, ustack);
BseItem*  bse_item_common_ancestor  (item1, item2);
void  bse_item_compat_setup  (item, vmajor, vminor, vmicro);
void  bse_item_cross_link  (owner, link, uncross_func);
void  bse_item_cross_unlink  (owner, link, uncross_func);
BseMusicalTuningType  bse_item_current_musical_tuning  (self);
BseErrorType  bse_item_exec  (item, procedure, ...);
BseErrorType  bse_item_exec_void  (item, procedure, ...);
BseItemSeq*  bse_item_gather_items  (item, iseq, base_type, ccheck, pcheck, data);
BseItemSeq*  bse_item_gather_items_typed  (item, iseq, proxy_type, container_type, allow_ancestor);
gboolean  bse_item_get_candidates  (item, property, pc);
BseProject*  bse_item_get_project  (item);
guint  bse_item_get_seqid  (item);
BseSNet*  bse_item_get_snet  (item);
BseSuper*  bse_item_get_super  (item);
BseItem*  bse_item_get_toplevel  (item);
gboolean  bse_item_has_ancestor  (item, ancestor);
gboolean  bse_item_needs_storage  (item, storage);
void  bse_item_push_redo_proc  (item, procedure, ...);
void  bse_item_push_undo_proc  (item, procedure, ...);
void  bse_item_push_undo_storage  (self, ustack, storage);
void  bse_item_queue_seqid_changed  (item);
void  bse_item_set_internal  (item, internal);
void  bse_item_set_parent  (item, parent);
void  bse_item_set_property_undoable  (self, name, value);
void  bse_item_set_undoable  (object, first_property_name, ...);
void  bse_item_set_valist_undoable  (object, first_property_name, var_args);
void  bse_item_uncross_links  (owner, link);
BseUndoStack*void  bse_item_undo_close  (ustack);
BseUndoStack*  bse_item_undo_open  (item, format, ...);
void  bse_item_unuse  (item);
BseItem*  bse_item_use  (item);

DESCRIPTION

_BseItem

/opt/src/beast/bse/bseitem.h:51
struct _BseItem
{
  BseObject    parent_object;
  guint        use_count;
  BseItem     *parent;
  BseParasite *parasite;
};

_BseItemClass

/opt/src/beast/bse/bseitem.h:59
struct _BseItemClass
{
  BseObjectClass  parent_class;
  void          (*get_candidates) (BseItem*item, guint param_id, BsePropertyCandidates*pc, GParamSpec*pspec);
  void          (*set_parent)     (BseItem*item, BseItem*parent);
  gboolean      (*needs_storage)  (BseItem*item, BseStorage*storage);
  void          (*compat_setup)   (BseItem*item, guint vmajor, guint vminor, guint vmicro);
  guint         (*get_seqid)      (BseItem*item);
  BseUndoStack* (*get_undo)       (BseItem*item);
};

bse_item_backup_to_undo

/opt/src/beast/bse/bseitem.h:162
void  bse_item_backup_to_undo 
(BseItem      *self,
 BseUndoStack *ustack);

bse_item_common_ancestor

/opt/src/beast/bse/bseitem.h:120

bse_item_compat_setup

/opt/src/beast/bse/bseitem.h:110
void  bse_item_compat_setup 
(BseItem *item,
 guint    vmajor,
 guint    vminor,
 guint    vmicro);

bse_item_cross_link

/opt/src/beast/bse/bseitem.h:123
void  bse_item_cross_link 
(BseItem       *owner,
 BseItem       *link,
 BseItemUncross uncross_func);
Install a weak cross reference from owner to link. The two items must have a common ancestor when the cross link is installed. Once their ancestry changes so that they don't have a common ancestor anymore, uncross_func() is executed.
owner: reference owner
link: item to be referenced by owner
uncross_func: notifier to be executed on uncrossing

bse_item_cross_unlink

/opt/src/beast/bse/bseitem.h:126
void  bse_item_cross_unlink 
(BseItem       *owner,
 BseItem       *link,
 BseItemUncross uncross_func);
Removes a cross link previously installed via bse_item_cross_link() without executing uncross_func().
owner: reference owner
link: item referenced by owner
uncross_func: notifier queued to be executed on uncrossing

bse_item_current_musical_tuning

/opt/src/beast/bse/bseitem.h:169
BseMusicalTuningType  bse_item_current_musical_tuning 
(BseItem *self);
self: a valid Item
RETURNS: the current BseMusicalTuningType, defaulting to BSE_MUSICAL_TUNING_12_TET Find out about the musical tuning that is currently used for this item. The musical tuning depends on project wide settings that may change after this funciton has been called, so the result should be used with caution.

bse_item_exec

/opt/src/beast/bse/bseitem.h:135
BseErrorType  bse_item_exec 
(gpointer     item,
 const gchar *procedure,
 ...);

bse_item_exec_void

/opt/src/beast/bse/bseitem.h:138
BseErrorType  bse_item_exec_void 
(gpointer     item,
 const gchar *procedure,
 ...);

bse_item_gather_items

/opt/src/beast/bse/bseitem.h:94
BseItemSeq*  bse_item_gather_items 
(BseItem              *item,
 BseItemSeq           *iseq,
 GType                 base_type,
 BseItemCheckContainer ccheck,
 BseItemCheckProxy     pcheck,
 gpointer              data);
This function gathers items from an object hirachy, walking upwards, starting out with item. For each container passing ccheck(), all immediate children are tested for addition with pcheck.
item: valid BseItem from which to start gathering
items: sequence of items to append to
base_type: base type of the items to gather
ccheck: container filter function
pcheck: proxy filter function
data: data pointer to ccheck and pcheck
RETURNS: returns items

bse_item_gather_items_typed

/opt/src/beast/bse/bseitem.h:99
BseItemSeq*  bse_item_gather_items_typed 
(BseItem    *item,
 BseItemSeq *iseq,
 GType       proxy_type,
 GType       container_type,
 gboolean    allow_ancestor);
Variant of bse_item_gather_items(), the containers and items are simply filtered by checking derivation from container_type and proxy_type respectively. Gathered items may not be ancestors of item if allow_ancestor is FALSE.
item: valid BseItem from which to start gathering
items: sequence of items to append to
proxy_type: base type of the items to gather
container_type: base type of the containers to check for items
allow_ancestor: if FALSE, ancestors of item are omitted
RETURNS: returns items

bse_item_get_candidates

/opt/src/beast/bse/bseitem.h:102
gboolean  bse_item_get_candidates 
(BseItem               *item,
 const gchar           *property,
 BsePropertyCandidates *pc);

bse_item_get_project

/opt/src/beast/bse/bseitem.h:115

bse_item_get_seqid

/opt/src/beast/bse/bseitem.h:111

bse_item_get_snet

/opt/src/beast/bse/bseitem.h:114

bse_item_get_super

/opt/src/beast/bse/bseitem.h:113

bse_item_get_toplevel

/opt/src/beast/bse/bseitem.h:116

bse_item_has_ancestor

/opt/src/beast/bse/bseitem.h:118
gboolean  bse_item_has_ancestor 
(BseItem *item,
 BseItem *ancestor);

bse_item_needs_storage

/opt/src/beast/bse/bseitem.h:106
gboolean  bse_item_needs_storage 
(BseItem    *item,
 BseStorage *storage);

bse_item_push_redo_proc

/opt/src/beast/bse/bseitem.h:160
void  bse_item_push_redo_proc 
(gpointer     item,
 const gchar *procedure,
 ...);

bse_item_push_undo_proc

/opt/src/beast/bse/bseitem.h:157
void  bse_item_push_undo_proc 
(gpointer     item,
 const gchar *procedure,
 ...);

bse_item_push_undo_storage

/opt/src/beast/bse/bseitem.h:165
void  bse_item_push_undo_storage 
(BseItem      *self,
 BseUndoStack *ustack,
 BseStorage   *storage);

bse_item_queue_seqid_changed

/opt/src/beast/bse/bseitem.h:112

bse_item_set_internal

/opt/src/beast/bse/bseitem.h:104
void  bse_item_set_internal 
(gpointer item,
 gboolean internal);

bse_item_set_parent

/opt/src/beast/bse/bseitem.h:132
void  bse_item_set_parent 
(BseItem *item,
 BseItem *parent);

bse_item_set_property_undoable

/opt/src/beast/bse/bseitem.h:148
void  bse_item_set_property_undoable 
(BseItem      *self,
 const gchar  *name,
 const GValue *value);

bse_item_set_undoable

/opt/src/beast/bse/bseitem.h:145
void  bse_item_set_undoable 
(gpointer     object,
 const gchar *first_property_name,
 ...);

bse_item_set_valist_undoable

/opt/src/beast/bse/bseitem.h:142
void  bse_item_set_valist_undoable 
(gpointer     object,
 const gchar *first_property_name,
 va_list      var_args);

bse_item_uncross_links

/opt/src/beast/bse/bseitem.h:128
void  bse_item_uncross_links 
(BseItem *owner,
 BseItem *link);
Destroys all existing cross links from owner to link by executing the associated notifiers.
owner: reference owner
link: item referenced by owner

bse_item_undo_close

/opt/src/beast/bse/bseitem.h:153

bse_item_undo_open

/opt/src/beast/bse/bseitem.h:152
BseUndoStack*  bse_item_undo_open 
(gpointer     item,
 const gchar *format,
 ...);

bse_item_unuse

/opt/src/beast/bse/bseitem.h:130
void  bse_item_unuse 
(BseItem *item);

bse_item_use

/opt/src/beast/bse/bseitem.h:129
BseItem*  bse_item_use 
(BseItem *item);