BEAST - Free Software Audio Synthesizer and Tracker  0.10.0
bsepatterngroup.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_PATTERN_GROUP_H__
3 #define __BSE_PATTERN_GROUP_H__
4 
5 #include <bse/bsepattern.hh>
6 
7 
8 /* --- object type macros --- */
9 #define BSE_TYPE_PATTERN_GROUP (BSE_TYPE_ID (BsePatternGroup))
10 #define BSE_PATTERN_GROUP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_PATTERN_GROUP, BsePatternGroup))
11 #define BSE_PATTERN_GROUP_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_PATTERN_GROUP, BsePatternGroupClass))
12 #define BSE_IS_PATTERN_GROUP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_PATTERN_GROUP))
13 #define BSE_IS_PATTERN_GROUP_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_PATTERN_GROUP))
14 #define BSE_PATTERN_GROUP_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_PATTERN_GROUP, BsePatternGroupClass))
15 
16 
17 /* --- BsePatternGroup object --- */
18 typedef struct _BsePatternGroupEntry BsePatternGroupEntry;
20 {
21  BseItem parent_object;
22 
23  guint pattern_count;
24  guint n_entries;
25  BsePatternGroupEntry *entries;
26 };
28 {
29  BseItemClass parent_class;
30 };
32 {
33  BsePattern *pattern;
34 };
35 
36 
37 /* --- prototypes --- */
38 void bse_pattern_group_insert_pattern (BsePatternGroup *pgroup,
39  BsePattern *pattern,
40  gint position);
41 void bse_pattern_group_remove_pattern (BsePatternGroup *pgroup,
42  BsePattern *pattern);
43 void bse_pattern_group_remove_entry (BsePatternGroup *pgroup,
44  gint position);
45 void bse_pattern_group_clone_contents (BsePatternGroup *pgroup,
46  BsePatternGroup *src_pgroup);
47 BsePattern* bse_pattern_group_get_nth_pattern (BsePatternGroup *pgroup,
48  gint index);
49 
50 
51 
52 
53 
54 
55 #ifdef __cplusplus
56 }
57 #endif /* __cplusplus */
58 
59 #endif /* __BSE_PATTERN_GROUP_H__ */
Definition: bsepatterngroup.hh:31
Definition: bsepatterngroup.hh:27
Definition: bsepatterngroup.hh:19
Definition: bseitem.hh:39
Definition: bseitem.hh:34