AgsNotation

AgsNotation — Notation class supporting selection and clipboard.

Functions

Properties

AgsAudio * audio Read / Write
guint audio-channel Read / Write
gpointer current-notes Read / Write
gpointer next-notes Read / Write
AgsNote * note Read / Write
AgsPort * port Read / Write
AgsTimestamp * timestamp Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── AgsNotation

Implemented Interfaces

AgsNotation implements AgsConnectable, AgsTactable and AgsPortlet.

Includes

#include <ags/audio/ags_notation.h>

Description

AgsNotation acts as a container of AgsNote.

Functions

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

 

use_selection_list

if TRUE selection is searched

 

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_all_to_selection ()

void
ags_notation_add_all_to_selection (AgsNotation *notation);

Select all.

Parameters

notation

an AgsNotation

 

Since: 0.4.2


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 notation_node,
                                    gboolean reset_x_offset,
                                    guint x_offset,
                                    gboolean reset_y_offset,
                                    guint y_offset);

Paste previously copied notes.

Parameters

notation

an AgsNotation

 

notation_node

the clipboard XML data

 

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);


ags_notation_new ()

AgsNotation *
ags_notation_new (GObject *audio,
                  guint audio_channel);

Creates a AgsNotation, assigned to audio_channel .

Parameters

audio

the assigned AgsAudio

 

audio_channel

the audio channel to be used

 

Returns

a new AgsNotation

Since: 0.4

Types and Values

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_CLIPBOARD_VERSION

#define AGS_NOTATION_CLIPBOARD_VERSION "0.4.2\0"


AGS_NOTATION_CLIPBOARD_TYPE

#define AGS_NOTATION_CLIPBOARD_TYPE "AgsNotationClipboardXml\0"


AGS_NOTATION_CLIPBOARD_FORMAT

#define AGS_NOTATION_CLIPBOARD_FORMAT "AgsNotationNativePiano\0"


enum AgsNotationFlags

Members

AGS_NOTATION_STICKY

   

AGS_NOTATION_PATTERN_MODE

   

Property Details

The “audio” property

  “audio”                    AgsAudio *

The audio of notation.

Flags: Read / Write

Since: 0.4.3


The “audio-channel” property

  “audio-channel”            guint

The numerical audio-channel of effect.

Flags: Read / Write

Allowed values: <= 65535

Default value: 0

Since: 0.4.3


The “current-notes” property

  “current-notes”            gpointer

The current notes for offset.

Flags: Read / Write

Since: 0.4.0


The “next-notes” property

  “next-notes”               gpointer

The next notes for offset.

Flags: Read / Write

Since: 0.4.0


The “note” property

  “note”                     AgsNote *

The note of notation.

Flags: Read / Write

Since: 0.4.3


The “port” property

  “port”                     AgsPort *

The port of notation.

Flags: Read / Write

Since: 0.4.2


The “timestamp” property

  “timestamp”                AgsTimestamp *

The timestamp of pattern.

Flags: Read / Write