| 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 | |
gpointer |
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 | |
gchar * |
group name |
guint |
number of columns |
BtPatternEditorColumn * |
array of columns |
gpointer |
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
"play-position" property"play-position" gdouble : Write
The current playing position as a fraction.
Allowed values: [-1,1]
Default value: -1
"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. |