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 __BST_TRACK_SYNTH_DIALOG_H__ 00003 #define __BST_TRACK_SYNTH_DIALOG_H__ 00004 00005 #include "bstutils.hh" 00006 #include "bstwaveview.hh" 00007 00008 G_BEGIN_DECLS 00009 00010 00011 /* --- Gtk+ type macros --- */ 00012 #define BST_TYPE_TRACK_SYNTH_DIALOG (bst_track_synth_dialog_get_type ()) 00013 #define BST_TRACK_SYNTH_DIALOG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BST_TYPE_TRACK_SYNTH_DIALOG, BstTrackSynthDialog)) 00014 #define BST_TRACK_SYNTH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BST_TYPE_TRACK_SYNTH_DIALOG, BstTrackSynthDialogClass)) 00015 #define BST_IS_TRACK_SYNTH_DIALOG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BST_TYPE_TRACK_SYNTH_DIALOG)) 00016 #define BST_IS_TRACK_SYNTH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BST_TYPE_TRACK_SYNTH_DIALOG)) 00017 #define BST_TRACK_SYNTH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BST_TYPE_TRACK_SYNTH_DIALOG, BstTrackSynthDialogClass)) 00018 00019 00020 /* --- structures & typedefs --- */ 00021 typedef struct _BstTrackSynthDialog BstTrackSynthDialog; 00022 typedef struct _BstTrackSynthDialogClass BstTrackSynthDialogClass; 00023 typedef void (*BstTrackSynthDialogSelected) (gpointer data, 00024 SfiProxy proxy, 00025 BstTrackSynthDialog *tsdialog); 00026 struct _BstTrackSynthDialog 00027 { 00028 GxkDialog parent_instance; 00029 GtkNotebook *notebook; 00030 GtkWidget *wpage; /* wave repo item view */ 00031 GtkWidget *spage; /* synth list */ 00032 GtkWidget *ok; /* ok button */ 00033 GtkWindow *parent_window; 00034 guint ignore_activate : 1; 00035 GtkTreeModel *pstore; /* proxy store */ 00036 GtkTreeView *tview; /* synth selection tree view */ 00037 BstTrackSynthDialogSelected selected_callback; 00038 gpointer selected_data; 00039 GxkFreeFunc selected_cleanup; 00040 }; 00041 struct _BstTrackSynthDialogClass 00042 { 00043 GxkDialogClass parent_class; 00044 }; 00045 00046 00047 /* --- prototypes --- */ 00048 GType bst_track_synth_dialog_get_type (void); 00049 GtkWidget* bst_track_synth_dialog_popup (gpointer parent_widget, 00050 SfiProxy track, 00051 const gchar *candidate_label, 00052 const gchar *candidate_tooltip, 00053 BseItemSeq *candidates, 00054 const gchar *wrepo_label, 00055 const gchar *wrepo_tooltip, 00056 SfiProxy wrepo, 00057 BstTrackSynthDialogSelected selected_callback, 00058 gpointer selected_data, 00059 GxkFreeFunc selected_cleanup); 00060 void bst_track_synth_dialog_set (BstTrackSynthDialog *self, 00061 BseItemSeq *iseq, 00062 SfiProxy wrepo); 00063 00064 00065 00066 G_END_DECLS 00067 00068 #endif /* __BST_TRACK_SYNTH_DIALOG_H__ */