| Buzztard Bt-Edit Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Signals | ||||
#include "bt-edit.h" struct BtPatternEditor; BtPatternEditorCallbacks; BtPatternEditorColumn; BtPatternEditorColumnGroup; GtkWidget * bt_pattern_editor_new (void); void bt_pattern_editor_set_pattern (BtPatternEditor *self,gpointer pattern_data,guint num_rows,guint num_groups,BtPatternEditorColumnGroup *groups,BtPatternEditorCallbacks *cb); gboolean bt_pattern_editor_get_selection (BtPatternEditor *self,gint *start,gint *end,gint *group,gint *param);
"cursor-group" guint : Read / Write "cursor-param" guint : Read / Write "cursor-row" guint : Read / Write "octave" guint : Write "play-position" gdouble : Write
typedef struct {
/* FIXME: what about supplying
* - BtPatternEditorColumn instead of BtPatternEditorColumn->user_data
* - BtPatternEditorColumnGroup instead of track;
*/
gfloat (*get_data_func)(gpointer pattern_data, gpointer column_data, guint row, guint group, guint param);
void (*set_data_func)(gpointer pattern_data, gpointer column_data, guint row, guint group, guint param, guint digit, gfloat value);
} BtPatternEditorCallbacks;
Data format conversion callbacks.
typedef struct {
BtPatternEditorColumnType type;
float def, min, max;
gpointer user_data;
} BtPatternEditorColumn;
A parameter column.
typedef struct {
// just an id to tell groups apart
BtPatternEditorColumnGroupType type;
// can be used for the headline above the group
gchar *name;
guint num_columns;
BtPatternEditorColumn *columns;
gpointer user_data;
guint width; /* in pixels for now, may change to chars some day when needed */
} BtPatternEditorColumnGroup;
A group of BtPatternEditorColumns, such as a voice or all global parameters.
GtkWidget * bt_pattern_editor_new (void);
Create a new pattern editor widget. Use bt_pattern_editor_set_pattern() to
pass pattern data.
Returns : |
the widget |
void bt_pattern_editor_set_pattern (BtPatternEditor *self,gpointer pattern_data,guint num_rows,guint num_groups,BtPatternEditorColumnGroup *groups,BtPatternEditorCallbacks *cb);
Set pattern data to show in the widget.
|
the widget |
|
memory block of values |
|
number of tick rows (y axis) |
|
number of groups (x axis) |
|
group parameters |
|
value transformation callbacks |
gboolean bt_pattern_editor_get_selection (BtPatternEditor *self,gint *start,gint *end,gint *group,gint *param);
Get selection rectangle.
|
the widget |
|
location for start tick |
|
location for end tick |
|
location for group |
|
location for parameter in group |
Returns : |
TRUE if there was a selection. |
"cursor-group" property "cursor-group" guint : Read / Write
The current group the cursor is in.
Default value: 0
"cursor-param" property "cursor-param" guint : Read / Write
The current parameter the cursor is at.
Default value: 0
"cursor-row" property "cursor-row" guint : Read / Write
The current cursor row.
Default value: 0
"octave" property "octave" guint : Write
The octave for note input.
Allowed values: <= 12
Default value: 2
"set-scroll-adjustments" signalvoid user_function (BtPatternEditor *btpatterneditor,
GtkAdjustment *arg1,
GtkAdjustment *arg2,
gpointer user_data) : Run Last