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_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__ */