Reference

bse-structs(3)

BSE Structure Reference Document Revised: Wed May 25 23:38:24 2005

NAME

BSE-Structures - BSE Structure Reference

Document Revised: Wed May 25 23:38:24 2005

SYNOPSIS

record BseCategory;

record BseDot;

record BseGConfig;

record BseIcon;

record BseMessage;

record BseMidiChannelEvent;

record BseNoteDescription;

record BseNoteSequence;

record BsePartControl;

record BsePartLink;

record BsePartNote;

record BseProbe;

record BseProbeFeatures;

record BseProbeRequest;

record BsePropertyCandidates;

record BseSampleFileInfo;

record BseSongTiming;

record BseThreadInfo;

record BseThreadTotals;

record BseTrackPart;

sequence BseCategorySeq;

sequence BseDotSeq;

sequence BseIntSeq;

sequence BseItemSeq;

sequence BseNoteSeq;

sequence BsePartControlSeq;

sequence BsePartLinkSeq;

sequence BsePartNoteSeq;

sequence BseProbeRequestSeq;

sequence BseProbeSeq;

sequence BseStringSeq;

sequence BseThreadInfoSeq;

sequence BseTrackPartSeq;

sequence BseTypeSeq;

DESCRIPTION

sequence BseThreadInfoSeq {
guintn_thread_infos; C language specific number of elements
BseThreadInfo**thread_infos; thread-infos
};
sequence BseTrackPartSeq {
guintn_tparts; C language specific number of elements
BseTrackPart**tparts; tparts
};
sequence BsePartLinkSeq {
guintn_plinks; C language specific number of elements
BsePartLink**plinks; plinks
};
sequence BseDotSeq {
guintn_dots; C language specific number of elements
BseDot**dots; dots
};
sequence BseCategorySeq {
guintn_cats; C language specific number of elements
BseCategory**cats; cats
};
sequence BsePartControlSeq {
guintn_pcontrols; C language specific number of elements
BsePartControl**pcontrols; pcontrols
};

A list of part control events

sequence BsePartNoteSeq {
guintn_pnotes; C language specific number of elements
BsePartNote**pnotes; pnotes
};

A list of part notes

sequence BseItemSeq {
guintn_items; C language specific number of elements
SfiProxy*items; items
};

A list of BSE items or derived types.

sequence BseNoteSeq {
guintn_notes; C language specific number of elements
SfiInt*notes; Note
};
sequence BseStringSeq {
guintn_strings; C language specific number of elements
const gchar**strings; strings
};
sequence BseTypeSeq {
guintn_types; C language specific number of elements
const gchar**types; types
};
sequence BseIntSeq {
guintn_ints; C language specific number of elements
SfiInt*ints; ints
};
record BseGConfig {
const gchar*sample_path; Search path of directories, seperated by ":", used to find audio samples.
const gchar*effect_path; Search path of directories, seperated by ":", used to find BSE effect files.
const gchar*instrument_path; Search path of directories, seperated by ":", used to find BSE instrument files.
const gchar*script_path; Search path of directories, seperated by ":", used to find BSE scheme scripts.
const gchar*plugin_path; Search path of directories, seperated by ":", used to find BSE plugins. This path is searched for in addition to the standard BSE plugin location on this system.
const gchar*ladspa_path; Search path of directories, seperated by ":", used to find LADSPA plugins. This path is searched for in addition to the standard LADSPA location on this system. LADSPA is the Linux Audio Developer's Simple Plugin API, more informations about LADSPA plugins can be found at http://www.ladspa.org/.
SfiIntsynth_latency; Processing duration between input and output of a single sample, smaller values increase CPU load
SfiIntsynth_mixing_freq; Synthesis mixing frequency, common values are: 22050, 44100, 48000
SfiIntsynth_control_freq; Frequency at which control values are evaluated, should be much smaller than Synth Mixing Frequency to reduce CPU load
SfiBoolinvert_sustain; Invert the state of sustain (damper) pedal so on/off meanings are reversed
SfiRealstep_volume_d_b; Step width for volume in decibel
SfiIntstep_bpm; Step width for beats per minute
};
record BseThreadTotals {
BseThreadInfo*main; main
BseThreadInfo*sequencer; sequencer
BseThreadInfoSeq*synthesis; synthesis
};
record BseThreadInfo {
const gchar*name; Thread Name
SfiChoicestate; The execution state of the thread
SfiIntthread_id; A unique number identifying this thread
SfiIntpriority; The nice value of a thread, -20 indicates a high priority thread and +19 a low priority one that is 'nice' to others
SfiIntprocessor; The processor that this thread is currently being executed on
SfiIntutime; The CPU time spent executing instructions of this thread
SfiIntstime; The CPU time spent in the system for this thread
SfiIntcutime; The CPU time spent executing instructions of children of this thread
SfiIntcstime; The CPU time spent in the system for children of this thread
};
record BseMessage {
const gchar*log_domain; log-domain
SfiChoicetype; type
const gchar*ident; ident
const gchar*label; label
const gchar*title; title
const gchar*primary; primary
const gchar*secondary; secondary
const gchar*details; details
const gchar*config_check; config-check
SfiProxyjanitor; janitor
const gchar*process; process
SfiIntpid; pid
};
record BseSampleFileInfo {
const gchar*file; Filename
SfiIntsize; File Size
SfiNummtime; Modification Time
const gchar*loader; Loader
BseStringSeq*waves; waves
SfiInterror; BseErrorType
};
record BseSongTiming {
SfiInttick; Current tick
SfiRealbpm; Beats per minute
SfiIntnumerator; Number of notes per measure
SfiIntdenominator; Type of notes counted per measure
SfiInttpqn; Ticks per quarter note
SfiInttpt; Ticks per tact
SfiRealstamp_ticks; Ticks per stamp increment (valid only during playback)
};
record BseTrackPart {
SfiInttick; Tick
SfiProxypart; part
SfiIntduration; Duration
};
record BsePartLink {
SfiProxytrack; track
SfiInttick; Tick
SfiProxypart; part
SfiIntduration; Duration
};
record BseDot {
SfiRealx; x
SfiRealy; y
};
record BseCategory {
SfiIntcategory_id; Category ID
const gchar*category; category
SfiIntmindex; mindex
SfiIntlindex; lindex
const gchar*type; type
BseIcon*icon; icon
};
record BseIcon {
SfiIntbytes_per_pixel; Bytes Per Pixel (3:RGB, 4:RGBA, 0:NONE)
SfiIntwidth; Width in pixels or 0 for no icon
SfiIntheight; Height in pixels or 0 for no icon
SfiBBlock*pixels; Pixel array of width*height*bytes_per_pixel bytes
};

BSE icon representation.

record BseNoteSequence {
SfiIntoffset; Center/base note
BseNoteSeq*notes; Sequence of notes
};
record BseNoteDescription {
SfiIntnote; Note
SfiIntoctave; Octave
SfiRealfreq; Frequency
SfiIntfine_tune; Fine Tune
SfiIntsemitone; Semitone
SfiBoolupshift; upshift
SfiIntletter; International abbreviation letter for this note
const gchar*name; Name
SfiIntmax_fine_tune; Max Fine Tune
SfiIntkammer_note; Kammer Note
};

A note description provides all necessary details about a specific note. Various procedures exist to retrieve a note description; given different key values. The max_fine_tune and kammer_note fields are constants; which are provided for compatibility reasons and will vanish in future APIs.

record BsePartControl {
SfiIntid; ID
SfiInttick; Tick
SfiChoicecontrol_type; control-type
SfiRealvalue; Value
SfiBoolselected; Selected
};

Part specific control event representation

record BsePartNote {
SfiIntid; ID
SfiIntchannel; Channel
SfiInttick; Tick
SfiIntduration; Duration in number of ticks
SfiIntnote; Note
SfiIntfine_tune; Fine Tune
SfiRealvelocity; Velocity
SfiBoolselected; Selected
};

Part specific note representation

record BsePropertyCandidates {
const gchar*label; label
const gchar*tooltip; tooltip
BseItemSeq*items; items
BseTypeSeq*partitions; List of types which may logically partition the list of items by type discrimination
};

A strcuture describing tentative property values.

record BseMidiChannelEvent {
SfiChoiceevent_type; event-type
SfiIntchannel; Channel
SfiNumtick_stamp; Time Stamp
SfiRealfrequency; Frequency
SfiRealvelocity; Velocity
SfiIntcontrol; Control Number
SfiRealvalue; Value
SfiIntprogram; Program
SfiRealintensity; Intensity
SfiRealpitch_bend; Pitch Bend
SfiIntsong_pointer; Song Pointer
SfiIntsong_number; Song Number
};
sequence BseProbeRequestSeq {
guintn_probe_requests; C language specific number of elements
BseProbeRequest**probe_requests; probe-requests
};
sequence BseProbeSeq {
guintn_probes; C language specific number of elements
BseProbe**probes; probes
};
record BseProbeRequest {
SfiProxysource; source
SfiIntchannel_id; channel-id
SfiIntblock_size; block-size
BseProbeFeatures*probe_features; probe-features
};
record BseProbe {
SfiIntchannel_id; channel-id
SfiNumblock_stamp; block-stamp
BseProbeFeatures*probe_features; probe-features
SfiRealmix_freq; mix-freq
SfiRealmin; min
SfiRealmax; max
SfiRealenergie; energie
SfiFBlock*sample_data; sample-data
SfiFBlock*fft_data; fft-data
};
record BseProbeFeatures {
SfiBoolprobe_range; probe-range
SfiBoolprobe_energie; probe-energie
SfiBoolprobe_samples; probe-samples
SfiBoolprobe_fft; probe-fft
};

SEE ALSO

BSE Procedures (bse-procs(3))

Document Revised: Wed May 25 23:38:24 2005

History