AgsNotation

AgsNotation — Notation class supporting selection and clipboard.

Functions

Types and Values

Includes

#include <ags/audio/ags_notation.h>

Description

AgsNotation acts as a container of AgsNote.

Functions

AGS_NOTATION_DEFAULT_BPM

#define AGS_NOTATION_DEFAULT_BPM (120.0)


AGS_NOTATION_TICS_PER_BEAT

#define AGS_NOTATION_TICS_PER_BEAT (1.0)


AGS_NOTATION_MINIMUM_NOTE_LENGTH

#define AGS_NOTATION_MINIMUM_NOTE_LENGTH (1.0 / 16.0)


AGS_NOTATION_MAXIMUM_NOTE_LENGTH

#define AGS_NOTATION_MAXIMUM_NOTE_LENGTH (16.0)


AGS_NOTATION_DEFAULT_LENGTH

#define AGS_NOTATION_DEFAULT_LENGTH (65535.0 / AGS_NOTATION_TICS_PER_BEAT - AGS_NOTATION_MAXIMUM_NOTE_LENGTH)


AGS_NOTATION_DEFAULT_JIFFIE

#define AGS_NOTATION_DEFAULT_JIFFIE (60.0 / AGS_NOTATION_DEFAULT_BPM / AGS_NOTATION_TICS_PER_BEAT)


AGS_NOTATION_DEFAULT_DURATION

#define AGS_NOTATION_DEFAULT_DURATION (AGS_NOTATION_DEFAULT_LENGTH * AGS_NOTATION_DEFAULT_JIFFIE * AGS_MICROSECONDS_PER_SECOND)


ags_notation_find_near_timestamp ()

GList *
ags_notation_find_near_timestamp (GList *notation,
                                  guint audio_channel,
                                  GObject *timestamp);

Retrieve appropriate notation for timestamp.

Parameters

notation

a GList containing AgsNotation

 

audio_channel

the matching audio channel

 

timestamp

the matching timestamp

 

Returns

Next match.

Since 0.4


ags_notation_add_note ()

void
ags_notation_add_note (AgsNotation *notation,
                       AgsNote *note,
                       gboolean use_selection_list);

Adds a note to notation.

Parameters

notation

an AgsNotation

 

note

the AgsNote to add

 

use_selection_list

if TRUE add to selection, else to default notation

 

Since 0.4


ags_notation_remove_note_at_position ()

gboolean
ags_notation_remove_note_at_position (AgsNotation *notation,
                                      guint x,
                                      guint y);

Removes one AgsNote of notation.

Parameters

notation

an AgsNotation

 

x

offset

 

y

note

 

Returns

TRUE if successfully removed note.

Since 0.4


ags_notation_get_selection ()

GList *
ags_notation_get_selection (AgsNotation *notation);

Retrieve selection.

Parameters

notation

the AgsNotation

 

Returns

the selection.

Since 0.4


ags_notation_is_note_selected ()

gboolean
ags_notation_is_note_selected (AgsNotation *notation,
                               AgsNote *note);

Check selection for note.

Parameters

notation

the AgsNotation

 

note

the AgsNote to check for

 

Returns

TRUE if selected

Since 0.4


ags_notation_find_point ()

AgsNote *
ags_notation_find_point (AgsNotation *notation,
                         guint x,
                         guint y,
                         gboolean use_selection_list);

Find note by offset and tone.

Parameters

notation

an AgsNotation

 

x

offset

 

y

note

 

use_selection_list

if TRUE selection is searched

 

Returns

the matching note.

Since 0.4


ags_notation_find_region ()

GList *
ags_notation_find_region (AgsNotation *notation,
                          guint x0,
                          guint y0,
                          guint x1,
                          guint y1,
                          gboolean use_selection_list);

Find notes by offset and tone region.

Parameters

notation

an AgsNotation

 

x0

start offset

 

y0

start tone

 

x1

end offset

 

y1

end tone

 

Returns

the matching notes as GList.

Since 0.4


ags_notation_free_selection ()

void
ags_notation_free_selection (AgsNotation *notation);

Clear selection.

Parameters

notation

an AgsNotation

 

Since 0.4


ags_notation_add_point_to_selection ()

void
ags_notation_add_point_to_selection (AgsNotation *notation,
                                     guint x,
                                     guint y,
                                     gboolean replace_current_selection);

Select notes at position.

Parameters

notation

an AgsNotation

 

x

offset

 

y

tone

 

replace_current_selection

if TRUE selection is replaced

 

Since 0.4


ags_notation_remove_point_from_selection ()

void
ags_notation_remove_point_from_selection
                               (AgsNotation *notation,
                                guint x,
                                guint y);

Remove notes at position of selection.

Parameters

notation

an AgsNotation

 

x

offset

 

y

tone

 

Since 0.4


ags_notation_add_region_to_selection ()

void
ags_notation_add_region_to_selection (AgsNotation *notation,
                                      guint x0,
                                      guint y0,
                                      guint x1,
                                      guint y1,
                                      gboolean replace_current_selection);

Select notes within region.

Parameters

notation

an AgsNotation

 

x0

start offset

 

y0

start tone

 

x1

end offset

 

y1

end tone

 

replace_current_selection

if TRUE selection is replaced

 

Since 0.4


ags_notation_remove_region_from_selection ()

void
ags_notation_remove_region_from_selection
                               (AgsNotation *notation,
                                guint x0,
                                guint y0,
                                guint x1,
                                guint y1);

Remove notes within region of selection.

Parameters

notation

an AgsNotation

 

x0

start offset

 

y0

start tone

 

x1

end offset

 

y1

end tone

 

Since 0.4


ags_notation_copy_selection ()

xmlNodePtr
ags_notation_copy_selection (AgsNotation *notation);

Copy selection to clipboard.

Parameters

notation

an AgsNotation

 

Returns

the selection as XML.

Since 0.4


ags_notation_cut_selection ()

xmlNodePtr
ags_notation_cut_selection (AgsNotation *notation);

Cut selection to clipboard.

Parameters

notation

an AgsNotation

 

Returns

the selection as XML.

Since 0.4


ags_notation_insert_from_clipboard ()

void
ags_notation_insert_from_clipboard (AgsNotation *notation,
                                    xmlNodePtr content,
                                    gboolean reset_x_offset,
                                    guint x_offset,
                                    gboolean reset_y_offset,
                                    guint y_offset);

Paste previously copied notes.

Parameters

notation

an AgsNotation

 

reset_x_offset

if TRUE x_offset used as cursor

 

x_offset

region start cursor offset

 

reset_y_offset

if TRUE y_offset used as cursor

 

y_offset

region start cursor tone

 

Since 0.4


ags_notation_get_current ()

GList *
ags_notation_get_current (AgsNotation *notation);

Returns


ags_notation_new ()

AgsNotation *
ags_notation_new (guint audio_channel);

Creates a AgsNotation, assigned to audio_channel .

Parameters

audio_channel

the audio channel to be used

 

Returns

a new AgsNotation

Since 0.4

Types and Values

enum AgsNotationFlags

Members

AGS_NOTATION_STICKY

   

AGS_NOTATION_INDICATED_LENGTH