BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
00001 // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html 00002 #ifndef __BSE_PATTERN_GROUP_H__ 00003 #define __BSE_PATTERN_GROUP_H__ 00004 00005 #include <bse/bsepattern.hh> 00006 00007 00008 /* --- object type macros --- */ 00009 #define BSE_TYPE_PATTERN_GROUP (BSE_TYPE_ID (BsePatternGroup)) 00010 #define BSE_PATTERN_GROUP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_PATTERN_GROUP, BsePatternGroup)) 00011 #define BSE_PATTERN_GROUP_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_PATTERN_GROUP, BsePatternGroupClass)) 00012 #define BSE_IS_PATTERN_GROUP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_PATTERN_GROUP)) 00013 #define BSE_IS_PATTERN_GROUP_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_PATTERN_GROUP)) 00014 #define BSE_PATTERN_GROUP_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_PATTERN_GROUP, BsePatternGroupClass)) 00015 00016 00017 /* --- BsePatternGroup object --- */ 00018 typedef struct _BsePatternGroupEntry BsePatternGroupEntry; 00019 struct _BsePatternGroup 00020 { 00021 BseItem parent_object; 00022 00023 guint pattern_count; 00024 guint n_entries; 00025 BsePatternGroupEntry *entries; 00026 }; 00027 struct _BsePatternGroupClass 00028 { 00029 BseItemClass parent_class; 00030 }; 00031 struct _BsePatternGroupEntry 00032 { 00033 BsePattern *pattern; 00034 }; 00035 00036 00037 /* --- prototypes --- */ 00038 void bse_pattern_group_insert_pattern (BsePatternGroup *pgroup, 00039 BsePattern *pattern, 00040 gint position); 00041 void bse_pattern_group_remove_pattern (BsePatternGroup *pgroup, 00042 BsePattern *pattern); 00043 void bse_pattern_group_remove_entry (BsePatternGroup *pgroup, 00044 gint position); 00045 void bse_pattern_group_clone_contents (BsePatternGroup *pgroup, 00046 BsePatternGroup *src_pgroup); 00047 BsePattern* bse_pattern_group_get_nth_pattern (BsePatternGroup *pgroup, 00048 gint index); 00049 00050 00051 00052 00053 00054 00055 #ifdef __cplusplus 00056 } 00057 #endif /* __cplusplus */ 00058 00059 #endif /* __BSE_PATTERN_GROUP_H__ */