BSE Interface Reference

/opt/src/beast/bse/bsepart.h

SYNOPSIS

struct  BsePartControls;
struct  BsePartNoteChannel;
struct  BsePartQueryEvent;
struct  BsePartTickNode;
struct  _BsePart;
struct  _BsePartClass;
struct  _BsePartEventControl;
struct  _BsePartEventNote;
   
gboolean  bse_part_change_control  (self, id, tick, ctype, value);
gboolean  bse_part_change_note  (self, id, channel, tick, duration, note, fine_tune, velocity);
void  bse_part_controls_change  (self, node, cev, id, selected, ctype, value);
void  bse_part_controls_change_selected  (cev, selected);
void  bse_part_controls_destroy  (self);
BsePartTickNode*  bse_part_controls_ensure_tick  (self, tick);
BsePartTickNode*  bse_part_controls_get_bound  (self);
guint  bse_part_controls_get_last_tick  (self);
void  bse_part_controls_init  (self);
void  bse_part_controls_insert  (self, node, id, selected, ctype, value);
BsePartTickNode*  bse_part_controls_lookup  (self, tick);
BsePartEventControl*  bse_part_controls_lookup_event  (self, tick, id);
BsePartTickNode*  bse_part_controls_lookup_ge  (self, tick);
BsePartTickNode*  bse_part_controls_lookup_le  (self, tick);
BsePartTickNode*  bse_part_controls_lookup_lt  (self, tick);
void  bse_part_controls_remove  (self, tick, cev);
gboolean  bse_part_delete_control  (self, id);
gboolean  bse_part_delete_note  (self, id, channel);
guint  bse_part_insert_control  (self, tick, ctype, value);
guint  bse_part_insert_note  (self, channel, tick, duration, note, fine_tune, velocity);
void  bse_part_links_changed  (self);
BsePartControlSeq*  bse_part_list_controls  (self, channel, tick, duration, ctype);
BsePartLinkSeq*  bse_part_list_links  (self);
BsePartNoteSeq*  bse_part_list_notes  (self, channel, tick, duration, min_note, max_note, include_crossings);
BsePartControlSeq*  bse_part_list_selected_controls  (self, ctype);
BsePartNoteSeq*  bse_part_list_selected_notes  (self);
void  bse_part_note_channel_change_note  (self, note, id, selected, vnote, fine_tune, velocity);
void  bse_part_note_channel_destroy  (self);
BsePartEventNote*  bse_part_note_channel_get_bound  (self);
guint  bse_part_note_channel_get_last_tick  (self);
void  bse_part_note_channel_init  (self);
BsePartEventNote*  bse_part_note_channel_insert  (self, key);
BsePartEventNote*  bse_part_note_channel_lookup  (self, tick);
BsePartEventNote*  bse_part_note_channel_lookup_ge  (self, tick);
BsePartEventNote*  bse_part_note_channel_lookup_le  (self, tick);
BsePartEventNote*  bse_part_note_channel_lookup_lt  (self, tick);
void  bse_part_note_channel_remove  (self, tick);
BsePartEventType  bse_part_query_event  (self, id, equery);
void  bse_part_queue_notes_within  (self, tick, duration, min_note, max_note);
void  bse_part_select_controls  (self, tick, duration, ctype, selected);
void  bse_part_select_controls_exclusive  (self, tick, duration, ctype);
void  bse_part_select_notes  (self, channel, tick, duration, min_note, max_note, selected);
void  bse_part_select_notes_exclusive  (self, channel, tick, duration, min_note, max_note);
gboolean  bse_part_set_control_selected  (self, id, selected);
gboolean  bse_part_set_note_selected  (self, id, channel, selected);
void  bse_part_set_semitone_table  (self, semitone_table);

DESCRIPTION

BsePartControls

/opt/src/beast/bse/bsepart.h:34

BsePartNoteChannel

/opt/src/beast/bse/bsepart.h:37

BsePartQueryEvent

/opt/src/beast/bse/bsepart.h:171
struct BsePartQueryEvent
{
  guint             id;
  BsePartEventType  event_type;
  guint             channel;
  guint             tick;
  gboolean          selected;
  guint             duration;
  gint              note;
  gint              fine_tune;
  gfloat            velocity;
  gfloat            fine_tune_value;
  gfloat            velocity_value;
  BseMidiSignalType control_type;
  gfloat            control_value;
};

BsePartTickNode

/opt/src/beast/bse/bsepart.h:204
struct BsePartTickNode
{
  guint                tick;
  BsePartEventControl *events;
};

_BsePart

/opt/src/beast/bse/bsepart.h:41
struct _BsePart
{
  BseItem             parent_instance;
  const double       *semitone_table;
  guint               n_ids;
  guint              *ids;
  guint               last_id;
  BsePartControls     controls;
  guint               n_channels;
  BsePartNoteChannel *channels;
  guint               last_tick_SL;
  guint               links_queued;
  guint               range_queued;
  guint               range_tick;
  guint               range_bound;
  gint                range_min_note;
  gint                range_max_note;
};

_BsePartClass

/opt/src/beast/bse/bsepart.h:69
struct _BsePartClass
{
  BseItemClass parent_class;
  void       (*range_changed) (BsePart*part, guint tick, guint duration, gint range_min_note, gint range_max_note);
};

_BsePartEventControl

/opt/src/beast/bse/bsepart.h:209
struct _BsePartEventControl
{
  BsePartEventControl *next;
  guint                id;
  guint                selected;
  guint                ctype;
  gfloat               value;
};

_BsePartEventNote

/opt/src/beast/bse/bsepart.h:257
struct _BsePartEventNote
{
  guint  tick;
  guint  id;
  guint  selected;
  guint *crossings;
  guint  duration;
  gint   note;
  gint   fine_tune;
  gfloat velocity;
};

bse_part_change_control

/opt/src/beast/bse/bsepart.h:120
gboolean  bse_part_change_control 
(BsePart          *self,
 guint             id,
 guint             tick,
 BseMidiSignalType ctype,
 gfloat            value);

bse_part_change_note

/opt/src/beast/bse/bsepart.h:115
gboolean  bse_part_change_note 
(BsePart *self,
 guint    id,
 guint    channel,
 guint    tick,
 guint    duration,
 gint     note,
 gint     fine_tune,
 gfloat   velocity);

bse_part_controls_change

/opt/src/beast/bse/bsepart.h:245
void  bse_part_controls_change 
(BsePartControls     *self,
 BsePartTickNode     *node,
 BsePartEventControl *cev,
 guint                id,
 guint                selected,
 guint                ctype,
 gfloat               value);

bse_part_controls_change_selected

/opt/src/beast/bse/bsepart.h:247
void  bse_part_controls_change_selected 
(BsePartEventControl *cev,
 guint                selected);

bse_part_controls_destroy

/opt/src/beast/bse/bsepart.h:251

bse_part_controls_ensure_tick

/opt/src/beast/bse/bsepart.h:232

bse_part_controls_get_bound

/opt/src/beast/bse/bsepart.h:229

bse_part_controls_get_last_tick

/opt/src/beast/bse/bsepart.h:230

bse_part_controls_init

/opt/src/beast/bse/bsepart.h:217

bse_part_controls_insert

/opt/src/beast/bse/bsepart.h:238
void  bse_part_controls_insert 
(BsePartControls *self,
 BsePartTickNode *node,
 guint            id,
 guint            selected,
 guint            ctype,
 gfloat           value);

bse_part_controls_lookup

/opt/src/beast/bse/bsepart.h:219
BsePartTickNode*  bse_part_controls_lookup 
(BsePartControls *self,
 guint            tick);

bse_part_controls_lookup_event

/opt/src/beast/bse/bsepart.h:222
BsePartEventControl*  bse_part_controls_lookup_event 
(BsePartControls *self,
 guint            tick,
 guint            id);

bse_part_controls_lookup_ge

/opt/src/beast/bse/bsepart.h:224
BsePartTickNode*  bse_part_controls_lookup_ge 
(BsePartControls *self,
 guint            tick);

bse_part_controls_lookup_le

/opt/src/beast/bse/bsepart.h:228
BsePartTickNode*  bse_part_controls_lookup_le 
(BsePartControls *self,
 guint            tick);

bse_part_controls_lookup_lt

/opt/src/beast/bse/bsepart.h:226
BsePartTickNode*  bse_part_controls_lookup_lt 
(BsePartControls *self,
 guint            tick);

bse_part_controls_remove

/opt/src/beast/bse/bsepart.h:250
void  bse_part_controls_remove 
(BsePartControls     *self,
 guint                tick,
 BsePartEventControl *cev);

bse_part_delete_control

/opt/src/beast/bse/bsepart.h:93

bse_part_delete_note

/opt/src/beast/bse/bsepart.h:96
gboolean  bse_part_delete_note 
(BsePart *self,
 guint    id,
 guint    channel);

bse_part_insert_control

/opt/src/beast/bse/bsepart.h:107
guint  bse_part_insert_control 
(BsePart          *self,
 guint             tick,
 BseMidiSignalType ctype,
 gfloat            value);

bse_part_insert_note

/opt/src/beast/bse/bsepart.h:103
guint  bse_part_insert_note 
(BsePart *self,
 guint    channel,
 guint    tick,
 guint    duration,
 gint     note,
 gint     fine_tune,
 gfloat   velocity);

bse_part_links_changed

/opt/src/beast/bse/bsepart.h:90

bse_part_list_controls

/opt/src/beast/bse/bsepart.h:132
BsePartControlSeq*  bse_part_list_controls 
(BsePart          *self,
 guint             channel,
 guint             tick,
 guint             duration,
 BseMidiSignalType ctype);

bse_part_list_links

/opt/src/beast/bse/bsepart.h:91
BsePartLinkSeq*  bse_part_list_links 
(BsePart *self);

bse_part_list_notes

/opt/src/beast/bse/bsepart.h:127
BsePartNoteSeq*  bse_part_list_notes 
(BsePart *self,
 guint    channel,
 guint    tick,
 guint    duration,
 gint     min_note,
 gint     max_note,
 gboolean include_crossings);

bse_part_list_selected_controls

/opt/src/beast/bse/bsepart.h:141
BsePartControlSeq*  bse_part_list_selected_controls 
(BsePart          *self,
 BseMidiSignalType ctype);

bse_part_list_selected_notes

/opt/src/beast/bse/bsepart.h:139
BsePartNoteSeq*  bse_part_list_selected_notes 
(BsePart *self);

bse_part_note_channel_change_note

/opt/src/beast/bse/bsepart.h:294
void  bse_part_note_channel_change_note 
(BsePartNoteChannel *self,
 BsePartEventNote   *note,
 guint               id,
 gboolean            selected,
 gint                vnote,
 gint                fine_tune,
 gfloat              velocity);

bse_part_note_channel_destroy

/opt/src/beast/bse/bsepart.h:297

bse_part_note_channel_get_bound

/opt/src/beast/bse/bsepart.h:284

bse_part_note_channel_get_last_tick

/opt/src/beast/bse/bsepart.h:285

bse_part_note_channel_init

/opt/src/beast/bse/bsepart.h:275

bse_part_note_channel_insert

/opt/src/beast/bse/bsepart.h:287

bse_part_note_channel_lookup

/opt/src/beast/bse/bsepart.h:277
BsePartEventNote*  bse_part_note_channel_lookup 
(BsePartNoteChannel *self,
 guint               tick);

bse_part_note_channel_lookup_ge

/opt/src/beast/bse/bsepart.h:283
BsePartEventNote*  bse_part_note_channel_lookup_ge 
(BsePartNoteChannel *self,
 guint               tick);

bse_part_note_channel_lookup_le

/opt/src/beast/bse/bsepart.h:279
BsePartEventNote*  bse_part_note_channel_lookup_le 
(BsePartNoteChannel *self,
 guint               tick);

bse_part_note_channel_lookup_lt

/opt/src/beast/bse/bsepart.h:281
BsePartEventNote*  bse_part_note_channel_lookup_lt 
(BsePartNoteChannel *self,
 guint               tick);

bse_part_note_channel_remove

/opt/src/beast/bse/bsepart.h:296
void  bse_part_note_channel_remove 
(BsePartNoteChannel *self,
 guint               tick);

bse_part_query_event

/opt/src/beast/bse/bsepart.h:191
BsePartEventType  bse_part_query_event 
(BsePart           *self,
 guint              id,
 BsePartQueryEvent *equery);

bse_part_queue_notes_within

/opt/src/beast/bse/bsepart.h:137
void  bse_part_queue_notes_within 
(BsePart *self,
 guint    tick,
 guint    duration,
 gint     min_note,
 gint     max_note);

bse_part_select_controls

/opt/src/beast/bse/bsepart.h:153
void  bse_part_select_controls 
(BsePart          *self,
 guint             tick,
 guint             duration,
 BseMidiSignalType ctype,
 gboolean          selected);

bse_part_select_controls_exclusive

/opt/src/beast/bse/bsepart.h:163
void  bse_part_select_controls_exclusive 
(BsePart          *self,
 guint             tick,
 guint             duration,
 BseMidiSignalType ctype);

bse_part_select_notes

/opt/src/beast/bse/bsepart.h:148
void  bse_part_select_notes 
(BsePart *self,
 guint    channel,
 guint    tick,
 guint    duration,
 gint     min_note,
 gint     max_note,
 gboolean selected);

bse_part_select_notes_exclusive

/opt/src/beast/bse/bsepart.h:159
void  bse_part_select_notes_exclusive 
(BsePart *self,
 guint    channel,
 guint    tick,
 guint    duration,
 gint     min_note,
 gint     max_note);

bse_part_set_control_selected

/opt/src/beast/bse/bsepart.h:170
gboolean  bse_part_set_control_selected 
(BsePart *self,
 guint    id,
 gboolean selected);

bse_part_set_note_selected

/opt/src/beast/bse/bsepart.h:167
gboolean  bse_part_set_note_selected 
(BsePart *self,
 guint    id,
 guint    channel,
 gboolean selected);

bse_part_set_semitone_table

/opt/src/beast/bse/bsepart.h:89
void  bse_part_set_semitone_table 
(BsePart      *self,
 const double *semitone_table);