krähemann.com

AgsNote

AgsNote — note class

Properties

AgsComplex * attack Read / Write
AgsComplex * decay Read / Write
gdouble frequency Read / Write
gchar * note-name Read / Write
AgsComplex * ratio Read / Write
AgsComplex * release Read / Write
guint rt-attack Read / Write
guint64 rt-offset Read / Write
gdouble stream-attack Read / Write
gdouble stream-delay Read / Write
guint64 stream-frame-count Read / Write
AgsComplex * sustain Read / Write
guint x0 Read / Write
guint x1 Read / Write
guint y Read / Write

Types and Values

enum AgsNoteFlags
#define AGS_TYPE_NOTE
struct AgsNote
struct AgsNoteClass

Object Hierarchy

    GObject
    ╰── AgsNote

Includes

#include <ags/audio/ags_note.h>

Description

AgsNote represents a tone.

Functions

AGS_NOTE_GET_OBJ_MUTEX()

#define AGS_NOTE_GET_OBJ_MUTEX(obj) (&(((AgsNote *) obj)->obj_mutex))

ags_note_test_flags ()

gboolean
ags_note_test_flags (AgsNote *note,
                     guint flags);

Test flags to be set on note .

Parameters

note

the AgsNote

 

flags

the flags

 

Returns

TRUE if flags are set, else FALSE

Since: 3.0.0


ags_note_set_flags ()

void
ags_note_set_flags (AgsNote *note,
                    guint flags);

Set flags on note .

Parameters

note

the AgsNote

 

flags

the flags

 

Since: 3.0.0


ags_note_unset_flags ()

void
ags_note_unset_flags (AgsNote *note,
                      guint flags);

Unset flags on note .

Parameters

note

the AgsNote

 

flags

the flags

 

Since: 3.0.0


ags_note_sort_func ()

gint
ags_note_sort_func (gconstpointer a,
                    gconstpointer b);

Sort notes.

Parameters

a

the AgsNote

 

b

another AgsNote

 

Returns

0 if equal, -1 if smaller and 1 if bigger offset

Since: 3.0.0


ags_note_find_prev ()

GList *
ags_note_find_prev (GList *note,
                    guint x0,
                    guint y);

Find prev note having the same y offset.

Parameters

note

the GList containing AgsNote.

[element-type AgsAudio.Note][transfer none]

x0

x offset

 

y

y offset

 

Returns

the matching entry as GList if first entry's x offset bigger than x0 , else NULL.

[element-type AgsAudio.Note][transfer none]

Since: 3.0.0


ags_note_find_next ()

GList *
ags_note_find_next (GList *note,
                    guint x0,
                    guint y);

Find next note having the same y offset.

Parameters

note

the GList containing AgsNote.

[element-type AgsAudio.Note][transfer none]

x0

x offset

 

y

y offset

 

Returns

the matching entry as GList if last entry's x offset smaller than x0 , else NULL.

[element-type AgsAudio.Note][transfer none]

Since: 3.0.0


ags_note_length_to_smf_delta_time ()

glong
ags_note_length_to_smf_delta_time (guint note_length,
                                   gdouble bpm,
                                   gdouble delay_factor,
                                   glong nn,
                                   glong dd,
                                   glong cc,
                                   glong bb,
                                   glong tempo);

Convert note length to SMF delta-time.

Parameters

note_length

the note length to convert

 

bpm

the source bpm

 

delay_factor

the source delay factor

 

nn

numerator

 

dd

denominator

 

cc

clocks

 

bb

beats

 

tempo

tempo

 

Returns

the delta-time

Since: 3.0.0


ags_note_smf_delta_time_to_length ()

guint
ags_note_smf_delta_time_to_length (glong delta_time,
                                   glong nn,
                                   glong dd,
                                   glong cc,
                                   glong bb,
                                   glong tempo,
                                   gdouble bpm,
                                   gdouble delay_factor);

Convert SMF delta-time to note length.

Parameters

delta_time

delta-time

 

nn

numerator

 

dd

denominator

 

cc

clocks

 

bb

beats

 

tempo

tempo

 

bpm

the target bpm

 

delay_factor

the target delay factor

 

Returns

the note length

Since: 3.0.0


ags_note_to_raw_midi ()

guchar *
ags_note_to_raw_midi (AgsNote *note,
                      gdouble bpm,
                      gdouble delay_factor,
                      guint *buffer_length);

Convert note to raw MIDI and set the buffer length of returned bytes in the array as buffer_length .

Parameters

note

the AgsNote

 

bpm

the bpm to use

 

delay_factor

the segmentation delay factor

 

buffer_length

the length of the returned buffer

 

Returns

The sequencer raw midi as array.

Since: 3.0.0


ags_note_to_raw_midi_extended ()

guchar *
ags_note_to_raw_midi_extended (AgsNote *note,
                               gdouble bpm,
                               gdouble delay_factor,
                               glong nn,
                               glong dd,
                               glong cc,
                               glong bb,
                               glong tempo,
                               guint *buffer_length);

Convert note to raw-midi.

Parameters

note

the AgsNote

 

bpm

the source bpm

 

delay_factor

the source delay factor

 

nn

numerator

 

dd

denominator

 

cc

clocks

 

bb

beats

 

tempo

tempo

 

buffer_length

the return location of buffer length

 

Returns

the raw-midi buffer

Since: 3.0.0


ags_note_to_seq_event ()

snd_seq_event_t *
ags_note_to_seq_event (AgsNote *note,
                       gdouble bpm,
                       gdouble delay_factor,
                       guint *n_events);

Convert note to ALSA sequencer events and set the number of events in the array as n_events .

Parameters

note

the AgsNote

 

bpm

the bpm to use

 

delay_factor

the segmentation delay factor

 

n_events

the count of events

 

Returns

The sequencer events as array.

[type gpointer][transfer none]

Since: 3.0.0


ags_note_to_seq_event_extended ()

snd_seq_event_t *
ags_note_to_seq_event_extended (AgsNote *note,
                                gdouble bpm,
                                gdouble delay_factor,
                                glong nn,
                                glong dd,
                                glong cc,
                                glong bb,
                                glong tempo,
                                guint *n_events);

Convert note to raw-midi.

Parameters

note

the AgsNote

 

bpm

the source bpm

 

delay_factor

the source delay factor

 

nn

numerator

 

dd

denominator

 

cc

clocks

 

bb

beats

 

tempo

tempo

 

n_events

the return location of event count

 

Returns

an array of snd_seq_event_t structs.

[type gpointer][transfer none]

Since: 3.0.0


ags_note_from_raw_midi ()

GList *
ags_note_from_raw_midi (guchar *raw_midi,
                        gdouble bpm,
                        gdouble delay_factor,
                        guint length);

Parse raw_midi data and convert to AgsNote.

Parameters

raw_midi

the data array

 

bpm

the bpm to use

 

delay_factor

the segmentation delay factor

 

length

the length of the array

 

Returns

a GList containing the notes.

[element-type AgsAudio.Note][transfer full]

Since: 3.0.0


ags_note_from_raw_midi_extended ()

GList *
ags_note_from_raw_midi_extended (guchar *raw_midi,
                                 glong nn,
                                 glong dd,
                                 glong cc,
                                 glong bb,
                                 glong tempo,
                                 gdouble bpm,
                                 gdouble delay_factor,
                                 guint length);

Parse raw_midi data and convert to AgsNote.

Parameters

raw_midi

the data array

 

nn

numerator

 

dd

denominator

 

cc

clocks

 

bb

beats

 

tempo

tempo

 

bpm

the bpm to use

 

delay_factor

the segmentation delay factor

 

length

the length of the array

 

Returns

a GList containing the notes.

[element-type AgsAudio.Note][transfer full]

Since: 3.0.0


ags_note_from_seq_event ()

GList *
ags_note_from_seq_event (snd_seq_event_t *event,
                         gdouble bpm,
                         gdouble delay_factor,
                         guint n_events);

Convert ALSA sequencer data event to AgsNote.

Parameters

event

ALSA sequencer events as array.

[type gpointer][transfer none]

bpm

the bpm to use

 

delay_factor

the segmentation delay factor

 

n_events

the arrays length

 

Returns

a GList containing the notes.

[element-type AgsAudio.Note][transfer full]

Since: 3.0.0


ags_note_from_seq_event_extended ()

GList *
ags_note_from_seq_event_extended (snd_seq_event_t *event,
                                  glong nn,
                                  glong dd,
                                  glong cc,
                                  glong bb,
                                  glong tempo,
                                  gdouble bpm,
                                  gdouble delay_factor,
                                  guint n_events);

Parse raw_midi data and convert to AgsNote.

Parameters

event

the snd_seq_event_t struct array.

[type gpointer][transfer none]

nn

numerator

 

dd

denominator

 

cc

clocks

 

bb

beats

 

tempo

tempo

 

bpm

the bpm to use

 

delay_factor

the segmentation delay factor

 

n_events

the count snd_seq_event_t structs

 

Returns

a GList containing the notes.

[element-type AgsAudio.Note][transfer full]

Since: 3.0.0


ags_note_duplicate ()

AgsNote *
ags_note_duplicate (AgsNote *note);

Duplicate a note.

Parameters

note

the AgsNote

 

Returns

the duplicated AgsNote.

[transfer full]

Since: 3.0.0


ags_note_new ()

AgsNote *
ags_note_new ();

Creates a new instance of AgsNote

Returns

the new AgsNote

Since: 3.0.0


ags_note_new_with_offset ()

AgsNote *
ags_note_new_with_offset (guint x0,
                          guint x1,
                          guint y,
                          gdouble stream_delay,
                          gdouble stream_attack);

Creates a new instance of AgsNote

Parameters

x0

x0

 

x1

x1

 

y

y

 

stream_delay

delay

 

stream_attack

attack

 

Returns

the new AgsNote

Since: 3.0.0


AGS_IS_NOTE()

#define AGS_IS_NOTE(obj)             (G_TYPE_CHECK_INSTANCE_TYPE((obj), AGS_TYPE_NOTE))

AGS_NOTE()

#define AGS_NOTE(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_NOTE, AgsNote))

AGS_NOTE_CLASS()

#define AGS_NOTE_CLASS(class)        (G_TYPE_CHECK_CLASS_CAST((class), AGS_TYPE_NOTE, AgsNoteClass))

AGS_NOTE_GET_CLASS()

#define AGS_NOTE_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS((obj), AGS_TYPE_NOTE, AgsNoteClass))

ags_note_get_type ()

GType
ags_note_get_type ();

Types and Values

enum AgsNoteFlags

Enum values to control the behavior or indicate internal state of AgsNote by enable/disable as flags.

Members

AGS_NOTE_GUI

gui format

 

AGS_NOTE_RUNTIME

runtime format

 

AGS_NOTE_HUMAN_READABLE

human readable format

 

AGS_NOTE_DEFAULT_LENGTH

default length

 

AGS_NOTE_IS_SELECTED

is selected

 

AGS_NOTE_FEED

feed note

 

AGS_NOTE_ENVELOPE

do envelope

 

AGS_TYPE_NOTE

#define AGS_TYPE_NOTE                (ags_note_get_type())

struct AgsNote

struct AgsNote;

struct AgsNoteClass

struct AgsNoteClass {
  GObjectClass gobject;
};

Property Details

The “attack” property

  “attack”                   AgsComplex *

Envelope attack.

Owner: AgsNote

Flags: Read / Write

Since: 3.0.0


The “decay” property

  “decay”                    AgsComplex *

Envelope decay.

Owner: AgsNote

Flags: Read / Write

Since: 3.0.0


The “frequency” property

  “frequency”                gdouble

The note's frequency.

Owner: AgsNote

Flags: Read / Write

Allowed values: >= 0

Default value: 0

Since: 3.0.0


The “note-name” property

  “note-name”                gchar *

The note's name.

Owner: AgsNote

Flags: Read / Write

Default value: NULL

Since: 3.0.0


The “ratio” property

  “ratio”                    AgsComplex *

Envelope ratio.

Owner: AgsNote

Flags: Read / Write

Since: 3.0.0


The “release” property

  “release”                  AgsComplex *

Envelope release.

Owner: AgsNote

Flags: Read / Write

Since: 3.0.0


The “rt-attack” property

  “rt-attack”                guint

Note realtime attack.

Owner: AgsNote

Flags: Read / Write

Default value: 0

Since: 3.0.0


The “rt-offset” property

  “rt-offset”                guint64

Note realtime offset.

Owner: AgsNote

Flags: Read / Write

Default value: 0

Since: 3.0.0


The “stream-attack” property

  “stream-attack”            gdouble

The stream's attack.

Owner: AgsNote

Flags: Read / Write

Allowed values: >= 0

Default value: 0

Since: 3.0.0


The “stream-delay” property

  “stream-delay”             gdouble

The stream's delay.

Owner: AgsNote

Flags: Read / Write

Allowed values: >= 0

Default value: 0

Since: 3.0.0


The “stream-frame-count” property

  “stream-frame-count”       guint64

The stream's frame count.

Owner: AgsNote

Flags: Read / Write

Default value: 0

Since: 3.0.0


The “sustain” property

  “sustain”                  AgsComplex *

Envelope sustain.

Owner: AgsNote

Flags: Read / Write

Since: 3.0.0


The “x0” property

  “x0”                       guint

Note offset x0.

Owner: AgsNote

Flags: Read / Write

Default value: 0

Since: 3.0.0


The “x1” property

  “x1”                       guint

Note offset x1.

Owner: AgsNote

Flags: Read / Write

Default value: 0

Since: 3.0.0


The “y” property

  “y”                        guint

Note offset y.

Owner: AgsNote

Flags: Read / Write

Default value: 0

Since: 3.0.0