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_SEQUENCER_H__ 00003 #define __BSE_SEQUENCER_H__ 00004 00005 #include <bse/bseplugin.hh> 00006 #include <bse/bsesource.hh> 00007 00008 #ifdef __cplusplus 00009 extern "C" { 00010 #endif /* __cplusplus */ 00011 00012 00013 /* --- object type macros --- */ 00014 #define BSE_TYPE_SEQUENCER (bse_sequencer_get_type()) 00015 #define BSE_SEQUENCER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_SEQUENCER, BseSequencer)) 00016 #define BSE_SEQUENCER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_SEQUENCER, BseSequencerClass)) 00017 #define BSE_IS_SEQUENCER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_SEQUENCER)) 00018 #define BSE_IS_SEQUENCER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_SEQUENCER)) 00019 #define BSE_SEQUENCER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_SEQUENCER, BseSequencerClass)) 00020 00021 struct BseSequencer : BseSource { 00022 gfloat counter; 00023 gint transpose; 00024 BseNoteSequence *sdata; 00025 guint n_freq_values; 00026 gfloat *freq_values; 00027 }; 00028 struct BseSequencerClass : BseSourceClass 00029 {}; 00030 00031 enum 00032 { 00033 BSE_SEQUENCER_OCHANNEL_FREQ, 00034 BSE_SEQUENCER_OCHANNEL_NOTE_SYNC, 00035 BSE_SEQUENCER_N_OCHANNELS 00036 }; 00037 00038 00039 00040 #ifdef __cplusplus 00041 } 00042 #endif /* __cplusplus */ 00043 00044 #endif /* __BSE_SEQUENCER_H__ */