BEAST - Free Software Audio Synthesizer and Tracker  0.9.2
bstprocedure.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __BST_PROCEDURE_H__
3 #define __BST_PROCEDURE_H__
4 
5 #include "bstparamview.hh"
6 
7 G_BEGIN_DECLS
8 
9 /* --- Gtk+ type macros --- */
10 #define BST_TYPE_PROCEDURE_SHELL (bst_procedure_shell_get_type ())
11 #define BST_PROCEDURE_SHELL(object) (GTK_CHECK_CAST ((object), BST_TYPE_PROCEDURE_SHELL, BstProcedureShell))
12 #define BST_PROCEDURE_SHELL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), BST_TYPE_PROCEDURE_SHELL, BstProcedureShellClass))
13 #define BST_IS_PROCEDURE_SHELL(object) (GTK_CHECK_TYPE ((object), BST_TYPE_PROCEDURE_SHELL))
14 #define BST_IS_PROCEDURE_SHELL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), BST_TYPE_PROCEDURE_SHELL))
15 #define BST_PROCEDURE_SHELL_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), BST_TYPE_PROCEDURE_SHELL, BstProcedureShellClass))
16 
17 
18 /* --- structures & typedefs --- */
19 typedef struct _BstProcedureShell BstProcedureShell;
20 typedef struct _BstProcedureShellClass BstProcedureShellClass;
22 {
23  GtkVBox parent_object;
24 
25  SfiGlueProc *proc;
26  SfiRec *prec;
27 
28  guint n_preset_params;
29  SfiRing *params; /* n_in_params + n_out_params params */
30 
31  guint in_modal_selection : 1;
32  guint in_execution : 1;
33  guint hide_dialog_on_exec : 1;
34 };
36 {
37  GtkVBoxClass parent_class;
38 };
39 
40 
41 /* --- prototypes --- */
42 GtkType bst_procedure_shell_get_type (void);
43 GtkWidget* bst_procedure_shell_new (SfiGlueProc *proc);
44 void bst_procedure_shell_update (BstProcedureShell *procedure_shell);
45 void bst_procedure_shell_rebuild (BstProcedureShell *procedure_shell);
46 void bst_procedure_shell_execute (BstProcedureShell *procedure_shell);
47 void bst_procedure_shell_set_proc (BstProcedureShell *procedure_shell,
48  SfiGlueProc *proc);
49 void bst_procedure_shell_reset (BstProcedureShell *procedure_shell);
50 void bst_procedure_shell_unpreset (BstProcedureShell *procedure_shell);
51 gboolean bst_procedure_shell_preset (BstProcedureShell *procedure_shell,
52  const gchar *name,
53  const GValue *value,
54  gboolean lock_preset);
55 
56 
57 /* --- convenience --- */
58 BstProcedureShell* bst_procedure_shell_global (void);
59 void bst_procedure_exec (const gchar *procedure_name,
60  const gchar *preset_param,
61  ...) G_GNUC_NULL_TERMINATED;
62 void bst_procedure_exec_auto (const gchar *procedure_name,
63  const gchar *preset_param,
64  ...) G_GNUC_NULL_TERMINATED;
65 void bst_procedure_exec_modal (const gchar *procedure_name,
66  const gchar *preset_param,
67  ...) G_GNUC_NULL_TERMINATED;
68 GParamSpec* bst_procedure_ref_pspec (const gchar *procedure_name,
69  const gchar *parameter);
70 
71 G_END_DECLS
72 
73 #endif /* __BST_PROCEDURE_H__ */
Definition: bstprocedure.hh:21
Definition: bstprocedure.hh:35
Definition: sfiglue.hh:33
Definition: sfiring.hh:23