11 #define BSE_TYPE_ITEM (BSE_TYPE_ID (BseItem))
12 #define BSE_ITEM(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_ITEM, BseItem))
13 #define BSE_ITEM_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_ITEM, BseItemClass))
14 #define BSE_IS_ITEM(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_ITEM))
15 #define BSE_IS_ITEM_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_ITEM))
16 #define BSE_ITEM_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_ITEM, BseItemClass))
20 #define BSE_ITEM_SINGLETON(object) ((BSE_OBJECT_FLAGS (object) & BSE_ITEM_FLAG_SINGLETON) != 0)
21 #define BSE_ITEM_INTERNAL(item) ((BSE_OBJECT_FLAGS (item) & BSE_ITEM_FLAG_INTERN_BRANCH) != 0)
27 BSE_ITEM_FLAG_SINGLETON = 1 << (BSE_OBJECT_FLAGS_USHIFT + 0),
28 BSE_ITEM_FLAG_INTERN = 1 << (BSE_OBJECT_FLAGS_USHIFT + 1),
29 BSE_ITEM_FLAG_INTERN_BRANCH = 1 << (BSE_OBJECT_FLAGS_USHIFT + 2)
31 #define BSE_ITEM_FLAGS_USHIFT (BSE_OBJECT_FLAGS_USHIFT + 3)
36 BseParasite *parasite;
40 void (*get_candidates) (
BseItem *item,
42 BsePropertyCandidates *pc,
44 void (*set_parent) (
BseItem *item,
46 gboolean (*needs_storage) (
BseItem *item,
48 void (*compat_setup) (
BseItem *item,
52 guint (*get_seqid) (
BseItem *item);
53 BseUndoStack* (*get_undo) (
BseItem *item);
56 typedef void (*BseItemUncross) (
BseItem *owner,
58 typedef gboolean (*BseItemCheckContainer) (
BseContainer *container,
61 typedef gboolean (*BseItemCheckProxy) (
BseItem *proxy,
67 BseItemSeq* bse_item_gather_items (
BseItem *item,
70 BseItemCheckContainer ccheck,
71 BseItemCheckProxy pcheck,
77 gboolean allow_ancestor);
78 gboolean bse_item_get_candidates (
BseItem *item,
79 const gchar *property,
80 BsePropertyCandidates *pc);
81 void bse_item_set_internal (gpointer item,
83 gboolean bse_item_needs_storage (
BseItem *item,
85 void bse_item_compat_setup (
BseItem *item,
89 guint bse_item_get_seqid (
BseItem *item);
90 void bse_item_queue_seqid_changed (
BseItem *item);
95 gboolean bse_item_has_ancestor (
BseItem *item,
101 BseItemUncross uncross_func);
104 BseItemUncross uncross_func);
108 void bse_item_unuse (
BseItem *item);
109 void bse_item_set_parent (
BseItem *item,
111 BseErrorType bse_item_exec (gpointer item,
112 const gchar *procedure,
114 BseErrorType bse_item_exec_void (gpointer item,
115 const gchar *procedure,
118 void bse_item_set_valist_undoable (gpointer
object,
119 const gchar *first_property_name,
121 void bse_item_set_undoable (gpointer
object,
122 const gchar *first_property_name,
123 ...) G_GNUC_NULL_TERMINATED;
124 void bse_item_set_property_undoable (
BseItem *self,
126 const GValue *value);
128 BseUndoStack* bse_item_undo_open_str (
void *item, const std::
string &
string);
129 #define bse_item_undo_open(item,...) bse_item_undo_open_str (item, Rapicorn::string_format (__VA_ARGS__).c_str())
130 void bse_item_undo_close (BseUndoStack *ustack);
132 void bse_item_push_undo_proc (gpointer item,
133 const gchar *procedure,
135 void bse_item_push_redo_proc (gpointer item,
136 const gchar *procedure,
138 void bse_item_backup_to_undo (
BseItem *
self,
139 BseUndoStack *ustack);
140 void bse_item_push_undo_storage (
BseItem *
self,
141 BseUndoStack *ustack,
144 #define bse_item_set bse_item_set_undoable
145 #define bse_item_get g_object_get
void bse_item_cross_unlink(BseItem *owner, BseItem *link, BseItemUncross uncross_func)
Definition: bseitem.cc:595
Definition: bsecontainer.hh:26
Definition: bsesnet.hh:37
Definition: bsesuper.hh:25
Definition: bseobject.hh:39
void bse_item_uncross_links(BseItem *owner, BseItem *link)
Definition: bseitem.cc:623
BseItemSeq * bse_item_gather_items_typed(BseItem *item, BseItemSeq *iseq, GType proxy_type, GType container_type, gboolean allow_ancestor)
Definition: bseitem.cc:389
Definition: bseobject.hh:44
BseMusicalTuningType bse_item_current_musical_tuning(BseItem *self)
Definition: bseitem.cc:706
Definition: bseitem.hh:39
Definition: bsestorage.hh:49
void bse_item_cross_link(BseItem *owner, BseItem *link, BseItemUncross uncross_func)
Definition: bseitem.cc:566
Definition: bseproject.hh:26
Definition: bseitem.hh:33