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_EDITABLE_SAMPLE_H__ 00003 #define __BSE_EDITABLE_SAMPLE_H__ 00004 00005 #include <bse/bsesuper.hh> 00006 #include <bse/gslwavechunk.hh> 00007 00008 #ifdef __cplusplus 00009 extern "C" { 00010 #endif /* __cplusplus */ 00011 00012 00013 /* --- object type macros --- */ 00014 #define BSE_TYPE_EDITABLE_SAMPLE (BSE_TYPE_ID (BseEditableSample)) 00015 #define BSE_EDITABLE_SAMPLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_EDITABLE_SAMPLE, BseEditableSample)) 00016 #define BSE_EDITABLE_SAMPLE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_EDITABLE_SAMPLE, BseEditableSampleClass)) 00017 #define BSE_IS_EDITABLE_SAMPLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_EDITABLE_SAMPLE)) 00018 #define BSE_IS_EDITABLE_SAMPLE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_EDITABLE_SAMPLE)) 00019 #define BSE_EDITABLE_SAMPLE_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_EDITABLE_SAMPLE, BseEditableSampleClass)) 00020 /* --- object flagss --- */ 00021 #define BSE_EDITABLE_SAMPLE_OPENED(obj) (BSE_EDITABLE_SAMPLE (obj)->open_count > 0) 00022 #define BSE_EDITABLE_SAMPLE_FLAGS_USHIFT (BSE_ITEM_FLAGS_USHIFT + 0) 00023 00024 struct BseEditableSample : BseItem { 00025 guint open_count; 00026 GslWaveChunk *wchunk; 00027 }; 00028 struct BseEditableSampleClass : BseItemClass { 00029 void (*changed) (BseEditableSample *sample); 00030 }; 00031 void bse_editable_sample_set_wchunk (BseEditableSample *self, 00032 GslWaveChunk *wchunk); 00033 #ifdef __cplusplus 00034 } 00035 #endif /* __cplusplus */ 00036 #endif /* __BSE_EDITABLE_SAMPLE_H__ */