Top | ![]() |
![]() |
![]() |
![]() |
#define | AGS_SEQUENCER_DEFAULT_SAMPLERATE |
#define | AGS_SEQUENCER_DEFAULT_BUFFER_SIZE |
#define | AGS_SEQUENCER_DEFAULT_DEVICE |
#define | AGS_SEQUENCER_DEFAULT_BPM |
#define | AGS_SEQUENCER_DEFAULT_DELAY_FACTOR |
#define | AGS_SEQUENCER_DEFAULT_JIFFIE |
#define | AGS_SEQUENCER_DEFAULT_TACT |
#define | AGS_SEQUENCER_DEFAULT_TACT_JIFFIE |
#define | AGS_SEQUENCER_DEFAULT_TACTRATE |
#define | AGS_SEQUENCER_DEFAULT_SCALE |
#define | AGS_SEQUENCER_DEFAULT_DELAY |
#define | AGS_SEQUENCER_DEFAULT_PERIOD |
#define | AGS_SEQUENCER_DEFAULT_LATENCY |
#define | AGS_TYPE_SEQUENCER |
AgsSequencer | |
struct | AgsSequencerInterface |
void ags_sequencer_set_application_context (AgsSequencer *sequencer
,AgsApplicationContext *application_context
);
Set application context.
Since: 2.0.0
AgsApplicationContext *
ags_sequencer_get_application_context (AgsSequencer *sequencer
);
Get application context.
Since: 2.0.0
void ags_sequencer_set_device (AgsSequencer *sequencer
,gchar *device_id
);
Set device.
Since: 2.0.0
gchar *
ags_sequencer_get_device (AgsSequencer *sequencer
);
Get device.
Since: 2.0.0
void ags_sequencer_list_cards (AgsSequencer *sequencer
,GList **card_id
,GList **card_name
);
Retrieve card_id
and card_name
as a list of strings.
sequencer |
the AgsSequencer |
|
card_id |
a list containing card ids |
|
card_name |
a list containing card names |
Since: 2.0.0
gboolean
ags_sequencer_is_starting (AgsSequencer *sequencer
);
Get starting.
Since: 2.0.0
gboolean
ags_sequencer_is_playing (AgsSequencer *sequencer
);
Get playing.
Since: 2.0.0
gboolean
ags_sequencer_is_recording (AgsSequencer *sequencer
);
Get recording.
Since: 2.0.0
void ags_sequencer_play (AgsSequencer *sequencer
,GError **error
);
Plays the current buffer of sequencer.
Since: 2.0.0
void ags_sequencer_record_init (AgsSequencer *sequencer
,GError **error
);
void ags_sequencer_record (AgsSequencer *sequencer
,GError **error
);
Records the current buffer of sequencer.
Since: 2.0.0
void
ags_sequencer_stop (AgsSequencer *sequencer
);
Stops the sequencer from playing to it.
Since: 2.0.0
void
ags_sequencer_tic (AgsSequencer *sequencer
);
Callback when counter expires minor note offset.
Since: 2.0.0
void ags_sequencer_offset_changed (AgsSequencer *sequencer
,guint note_offset
);
void * ags_sequencer_get_buffer (AgsSequencer *sequencer
,guint *buffer_length
);
Get current playback buffer.
Since: 2.0.0
void * ags_sequencer_get_next_buffer (AgsSequencer *sequencer
,guint *buffer_length
);
Get future playback buffer.
Since: 2.0.0
void ags_sequencer_lock_buffer (AgsSequencer *sequencer
,void *buffer
);
Lock buffer
.
Since: 2.0.0
void ags_sequencer_unlock_buffer (AgsSequencer *sequencer
,void *buffer
);
Unlock buffer
.
Since: 2.0.0
void ags_sequencer_set_bpm (AgsSequencer *sequencer
,gdouble bpm
);
Set current playback bpm.
Since: 2.0.0
gdouble
ags_sequencer_get_bpm (AgsSequencer *sequencer
);
Get current playback bpm.
Since: 2.0.0
void ags_sequencer_set_delay_factor (AgsSequencer *sequencer
,gdouble delay_factor
);
Set current playback delay factor.
Since: 2.0.0
gdouble
ags_sequencer_get_delay_factor (AgsSequencer *sequencer
);
Get current playback delay factor.
Since: 2.0.0
void ags_sequencer_set_start_note_offset (AgsSequencer *sequencer
,guint start_note_offset
);
Set start playback note offset.
Since: 2.1.24
guint
ags_sequencer_get_start_note_offset (AgsSequencer *sequencer
);
Get start playback note offset.
Since: 2.1.24
void ags_sequencer_set_note_offset (AgsSequencer *sequencer
,guint note_offset
);
Set current playback note offset.
Since: 2.0.0
guint
ags_sequencer_get_note_offset (AgsSequencer *sequencer
);
Get current playback note offset.
Since: 2.0.0
#define AGS_IS_SEQUENCER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), AGS_TYPE_SEQUENCER))
#define AGS_IS_SEQUENCER_INTERFACE(vtable) (G_TYPE_CHECK_CLASS_TYPE((vtable), AGS_TYPE_SEQUENCER))
#define AGS_SEQUENCER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_SEQUENCER, AgsSequencer))
#define AGS_SEQUENCER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), AGS_TYPE_SEQUENCER, AgsSequencerInterface))
#define AGS_SEQUENCER_INTERFACE(vtable) (G_TYPE_CHECK_CLASS_CAST((vtable), AGS_TYPE_SEQUENCER, AgsSequencerInterface))
#define AGS_SEQUENCER_DEFAULT_JIFFIE ((double) AGS_SEQUENCER_DEFAULT_SAMPLERATE / (double) AGS_SEQUENCER_DEFAULT_BUFFER_SIZE)
#define AGS_SEQUENCER_DEFAULT_TACT_JIFFIE (60.0 / AGS_SEQUENCER_DEFAULT_BPM * AGS_SEQUENCER_DEFAULT_TACT)
#define AGS_SEQUENCER_DEFAULT_TACTRATE (1.0 / AGS_SEQUENCER_DEFAULT_TACT_JIFFIE)
#define AGS_SEQUENCER_DEFAULT_DELAY (AGS_SEQUENCER_DEFAULT_JIFFIE * (60.0 / AGS_SEQUENCER_DEFAULT_BPM))
struct AgsSequencerInterface { GTypeInterface ginterface; void (*set_application_context)(AgsSequencer *sequencer, AgsApplicationContext *application_context); AgsApplicationContext* (*get_application_context)(AgsSequencer *sequencer); void (*set_device)(AgsSequencer *sequencer, gchar *card_id); gchar* (*get_device)(AgsSequencer *sequencer); void (*list_cards)(AgsSequencer *sequencer, GList **card_id, GList **card_name); gboolean (*is_starting)(AgsSequencer *sequencer); gboolean (*is_playing)(AgsSequencer *sequencer); gboolean (*is_recording)(AgsSequencer *sequencer); void (*play_init)(AgsSequencer *sequencer, GError **error); void (*play)(AgsSequencer *sequencer, GError **error); void (*record_init)(AgsSequencer *sequencer, GError **error); void (*record)(AgsSequencer *sequencer, GError **error); void (*stop)(AgsSequencer *sequencer); void (*tic)(AgsSequencer *sequencer); void (*offset_changed)(AgsSequencer *sequencer, guint note_offset); void* (*get_buffer)(AgsSequencer *sequencer, guint *buffer_length); void* (*get_next_buffer)(AgsSequencer *sequencer, guint *buffer_length); void (*lock_buffer)(AgsSequencer *sequencer, void *buffer); void (*unlock_buffer)(AgsSequencer *sequencer, void *buffer); void (*set_bpm)(AgsSequencer *sequencer, gdouble bpm); gdouble (*get_bpm)(AgsSequencer *sequencer); void (*set_delay_factor)(AgsSequencer *sequencer, gdouble delay_factor); gdouble (*get_delay_factor)(AgsSequencer *sequencer); void (*set_start_note_offset)(AgsSequencer *sequencer, guint start_note_offset); guint (*get_start_note_offset)(AgsSequencer *sequencer); void (*set_note_offset)(AgsSequencer *sequencer, guint note_offset); guint (*get_note_offset)(AgsSequencer *sequencer); };
“offset-changed”
signalvoid user_function (AgsSequencer *sequencer, guint note_offset, gpointer user_data)
The ::offset-changed signal notifies about changed position within notation.
sequencer |
the object |
|
note_offset |
new notation offset |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 2.0.0
“tic”
signalvoid user_function (AgsSequencer *sequencer, gpointer user_data)
The ::tic signal is emitted every tic of the sequencer. This notifies about a newly played buffer.
Flags: Run Last
Since: 2.0.0