BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
bsttracksynthdialog.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 __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__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines