BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
bstprocedure.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_PROCEDURE_H__
00003 #define __BST_PROCEDURE_H__
00004 
00005 #include        "bstparamview.hh"
00006 
00007 G_BEGIN_DECLS
00008 
00009 /* --- Gtk+ type macros --- */
00010 #define BST_TYPE_PROCEDURE_SHELL            (bst_procedure_shell_get_type ())
00011 #define BST_PROCEDURE_SHELL(object)         (GTK_CHECK_CAST ((object), BST_TYPE_PROCEDURE_SHELL, BstProcedureShell))
00012 #define BST_PROCEDURE_SHELL_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), BST_TYPE_PROCEDURE_SHELL, BstProcedureShellClass))
00013 #define BST_IS_PROCEDURE_SHELL(object)      (GTK_CHECK_TYPE ((object), BST_TYPE_PROCEDURE_SHELL))
00014 #define BST_IS_PROCEDURE_SHELL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), BST_TYPE_PROCEDURE_SHELL))
00015 #define BST_PROCEDURE_SHELL_GET_CLASS(obj)  (GTK_CHECK_GET_CLASS ((obj), BST_TYPE_PROCEDURE_SHELL, BstProcedureShellClass))
00016 
00017 
00018 /* --- structures & typedefs --- */
00019 typedef struct  _BstProcedureShell             BstProcedureShell;
00020 typedef struct  _BstProcedureShellClass        BstProcedureShellClass;
00021 struct _BstProcedureShell
00022 {
00023   GtkVBox            parent_object;
00024 
00025   SfiGlueProc       *proc;
00026   SfiRec            *prec;
00027 
00028   guint              n_preset_params;
00029   SfiRing           *params; /* n_in_params + n_out_params params */
00030 
00031   guint              in_modal_selection : 1;
00032   guint              in_execution : 1;
00033   guint              hide_dialog_on_exec : 1;
00034 };
00035 struct _BstProcedureShellClass
00036 {
00037   GtkVBoxClass       parent_class;
00038 };
00039 
00040 
00041 /* --- prototypes --- */
00042 GtkType            bst_procedure_shell_get_type    (void);
00043 GtkWidget*         bst_procedure_shell_new         (SfiGlueProc       *proc);
00044 void               bst_procedure_shell_update      (BstProcedureShell *procedure_shell);
00045 void               bst_procedure_shell_rebuild     (BstProcedureShell *procedure_shell);
00046 void               bst_procedure_shell_execute     (BstProcedureShell *procedure_shell);
00047 void               bst_procedure_shell_set_proc    (BstProcedureShell *procedure_shell,
00048                                                     SfiGlueProc       *proc);
00049 void               bst_procedure_shell_reset       (BstProcedureShell *procedure_shell);
00050 void               bst_procedure_shell_unpreset    (BstProcedureShell *procedure_shell);
00051 gboolean           bst_procedure_shell_preset      (BstProcedureShell *procedure_shell,
00052                                                     const gchar       *name,
00053                                                     const GValue      *value,
00054                                                     gboolean           lock_preset);
00055 
00056 
00057 /* --- convenience --- */
00058 BstProcedureShell* bst_procedure_shell_global   (void);
00059 void               bst_procedure_exec           (const gchar    *procedure_name,
00060                                                  const gchar    *preset_param,
00061                                                  ...) G_GNUC_NULL_TERMINATED;
00062 void               bst_procedure_exec_auto      (const gchar    *procedure_name,
00063                                                  const gchar    *preset_param,
00064                                                  ...) G_GNUC_NULL_TERMINATED;
00065 void               bst_procedure_exec_modal     (const gchar    *procedure_name,
00066                                                  const gchar    *preset_param,
00067                                                  ...) G_GNUC_NULL_TERMINATED;
00068 GParamSpec*        bst_procedure_ref_pspec      (const gchar    *procedure_name,
00069                                                  const gchar    *parameter);
00070 
00071 G_END_DECLS
00072 
00073 #endif /* __BST_PROCEDURE_H__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines