![]() |
![]() |
![]() |
Buzztard Bt-Edit Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Signals |
#include "bt-edit.h" struct BtPatternEditor; BtPatternEditorCallbacks; BtPatternEditorColumn; enum BtPatternEditorColumnType; BtPatternEditorColumnGroup; enum BtPatternEditorColumnGroupType; enum BtPatternEditorSelectionMode; 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.
column value type | |
default value | |
minimum allowed value | |
maximum allowed value | |
extra data to attach |
enum BtPatternEditorColumnType { PCT_NOTE=0, PCT_SWITCH, PCT_BYTE, PCT_WORD, PCT_FLOAT };
Column data types.
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; } BtPatternEditorColumnGroup;
A group of BtPatternEditorColumns, such as a voice or all global parameters.
group type | |
group name | |
number of columns | |
BtPatternEditorColumn * |
array of columns |
extra data to attach |
enum BtPatternEditorColumnGroupType { PGT_WIRE=0, PGT_GLOBAL, PGT_VOICE };
Column group type
enum BtPatternEditorSelectionMode { PESM_COLUMN, PESM_GROUP, PESM_ALL };
Seleting single columns, whole groups (e.g. voices) or the whole pattern.
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 (passed to the callbacks) |
|
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 *hadjustment,
GtkAdjustment *vadjustment,
GtkAdjustment *arg2,
gpointer user_data) : Run Last
Internal signal for scrolling.
|
horizontal adjustment |
|
vertical adjust |
|
user data set when the signal handler was connected. |