Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
bsesuper.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __BSE_SUPER_H__
3 #define __BSE_SUPER_H__
4 
5 #include <bse/bsecontainer.hh>
6 
7 /* --- object type macros --- */
8 #define BSE_TYPE_SUPER (BSE_TYPE_ID (BseSuper))
9 #define BSE_SUPER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_SUPER, BseSuper))
10 #define BSE_SUPER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_SUPER, BseSuperClass))
11 #define BSE_IS_SUPER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_SUPER))
12 #define BSE_IS_SUPER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_SUPER))
13 #define BSE_SUPER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_SUPER, BseSuperClass))
14 /* --- BseSuper member macros --- */
15 #define BSE_SUPER_NEEDS_CONTEXT(object) ((BSE_OBJECT_FLAGS (object) & BSE_SUPER_FLAG_NEEDS_CONTEXT) != 0)
16 
17 typedef enum /*< skip >*/
18 {
19  BSE_SUPER_FLAG_NEEDS_CONTEXT = 1 << (BSE_CONTAINER_FLAGS_USHIFT + 0),
20 } BseSuperFlags;
21 #define BSE_SUPER_FLAGS_USHIFT (BSE_CONTAINER_FLAGS_USHIFT + 1)
22 
24  SfiTime creation_time;
25  SfiTime mod_time;
26  /* for BseProject */
27  guint context_handle;
28 };
30  void (*modified) (BseSuper *super,
31  SfiTime stamp);
32  void (*compat_finish) (BseSuper *super,
33  guint vmajor,
34  guint vminor,
35  guint vmicro);
36 };
37 
38 namespace Bse {
39 
40 class SuperImpl : public ContainerImpl, public virtual SuperIface {
41 protected:
42  virtual ~SuperImpl ();
43 public:
44  explicit SuperImpl (BseObject*);
45 };
46 
47 } // Bse
48 
49 #endif /* __BSE_SUPER_H__ */
Definition: bsecontainer.hh:24
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:91
Definition: bsesuper.hh:23
Definition: bsesuper.hh:29
Definition: bsecontainer.hh:27
Definition: bseobject.hh:57
Definition: bsesuper.hh:40