BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
bsepatterngroup.hh
Go to the documentation of this file.
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__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines