| Top |
| #define | AGS_SEQUENCER_MAX_MIDI_CHANNELS |
| #define | AGS_SEQUENCER_MAX_MIDI_KEYS |
| #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_device (AgsSequencer *sequencer,gchar *card_id);
Set device.
Since: 3.0.0
gchar *
ags_sequencer_get_device (AgsSequencer *sequencer);
Get device.
Since: 3.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. |
[element-type utf8][out callee-allocates][array zero-terminated=1][transfer full] |
card_name |
a list containing card names. |
[element-type utf8][out callee-allocates][array zero-terminated=1][transfer full] |
Since: 3.0.0
gboolean
ags_sequencer_is_starting (AgsSequencer *sequencer);
Get starting.
Since: 3.0.0
gboolean
ags_sequencer_is_playing (AgsSequencer *sequencer);
Get playing.
Since: 3.0.0
gboolean
ags_sequencer_is_recording (AgsSequencer *sequencer);
Get recording.
Since: 3.0.0
void ags_sequencer_play_init (AgsSequencer *sequencer,GError **error);
Initializes the sequencer for playback.
Since: 3.0.0
void ags_sequencer_play (AgsSequencer *sequencer,GError **error);
Plays the current buffer of sequencer.
Since: 3.0.0
void ags_sequencer_record_init (AgsSequencer *sequencer,GError **error);
Initializes the sequencer for recording.
Since: 3.0.0
void ags_sequencer_record (AgsSequencer *sequencer,GError **error);
Records the current buffer of sequencer.
Since: 3.0.0
void
ags_sequencer_stop (AgsSequencer *sequencer);
Stops the sequencer from playing to it.
Since: 3.0.0
void
ags_sequencer_tic (AgsSequencer *sequencer);
Every call to play may generate a tic.
Since: 3.0.0
void ags_sequencer_offset_changed (AgsSequencer *sequencer,guint note_offset);
Callback when counter expires minor note offset.
Since: 3.0.0
void * ags_sequencer_get_buffer (AgsSequencer *sequencer,guint *buffer_length);
Get current playback buffer.
Since: 3.0.0
void * ags_sequencer_get_next_buffer (AgsSequencer *sequencer,guint *buffer_length);
Get future playback buffer.
Since: 3.0.0
void ags_sequencer_lock_buffer (AgsSequencer *sequencer,void *buffer);
Lock buffer
.
Since: 3.0.0
void ags_sequencer_unlock_buffer (AgsSequencer *sequencer,void *buffer);
Unlock buffer
.
Since: 3.0.0
void ags_sequencer_set_bpm (AgsSequencer *sequencer,gdouble bpm);
Set current playback bpm.
Since: 3.0.0
gdouble
ags_sequencer_get_bpm (AgsSequencer *sequencer);
Get current playback bpm.
Since: 3.0.0
void ags_sequencer_set_delay_factor (AgsSequencer *sequencer,gdouble delay_factor);
Set current playback delay factor.
Since: 3.0.0
gdouble
ags_sequencer_get_delay_factor (AgsSequencer *sequencer);
Get current playback delay factor.
Since: 3.0.0
void ags_sequencer_set_start_note_offset (AgsSequencer *sequencer,guint start_note_offset);
Set start playback note offset.
Since: 3.0.0
guint
ags_sequencer_get_start_note_offset (AgsSequencer *sequencer);
Get start playback note offset.
Since: 3.0.0
void ags_sequencer_set_note_offset (AgsSequencer *sequencer,guint note_offset);
Set current playback note offset.
Since: 3.0.0
guint
ags_sequencer_get_note_offset (AgsSequencer *sequencer);
Get current playback note offset.
Since: 3.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_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 AgsSequencer object |
|
note_offset |
new notation offset |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.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.
sequencer |
the AgsSequencer object |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0