/** * ags_soundcard_get_next_buffer: * @soundcard an #AgsSoundcard * * Get future playback buffer. */ signed short* ags_soundcard_get_next_buffer(AgsSoundcard *soundcard) { AgsSoundcardInterface *soundcard_interface; g_return_val_if_fail(AGS_IS_SOUNDCARD(soundcard), NULL); soundcard_interface = AGS_SOUNDCARD_GET_INTERFACE(soundcard); g_return_val_if_fail(soundcard_interface->get_next_buffer, NULL); return(soundcard_interface->get_next_buffer(soundcard)); }
/** * ags_soundcard_tic: * @soundcard an #AgsSoundcard * * Every call to play may generate a tic. */ void ags_soundcard_tic(AgsSoundcard *soundcard) { AgsSoundcardInterface *soundcard_interface; g_return_if_fail(AGS_IS_SOUNDCARD(soundcard)); soundcard_interface = AGS_SOUNDCARD_GET_INTERFACE(soundcard); g_return_if_fail(soundcard_interface->tic); soundcard_interface->tic(soundcard); }
/** * ags_soundcard_play: * @soundcard an #AgsSoundcard * @card_id a list containing card ids * @card_name a list containing card names * @error an error that may occure * * Retrieve @card_id and @card_name as a list of strings. */ void ags_soundcard_list_cards(AgsSoundcard *soundcard, GList **card_id, GList **card_name) { AgsSoundcardInterface *soundcard_interface; g_return_if_fail(AGS_IS_SOUNDCARD(soundcard)); soundcard_interface = AGS_SOUNDCARD_GET_INTERFACE(soundcard); g_return_if_fail(soundcard_interface->list_cards); soundcard_interface->list_cards(soundcard, card_id, card_name); }
/** * ags_soundcard_tic: * @soundcard an #AgsSoundcard * * Callback when counter expires minor note offset. */ void ags_soundcard_offset_changed(AgsSoundcard *soundcard, guint note_offset) { AgsSoundcardInterface *soundcard_interface; g_return_if_fail(AGS_IS_SOUNDCARD(soundcard)); soundcard_interface = AGS_SOUNDCARD_GET_INTERFACE(soundcard); g_return_if_fail(soundcard_interface->offset_changed); soundcard_interface->offset_changed(soundcard, note_offset); }
/** * ags_soundcard_play: * @soundcard an #AgsSoundcard * @error an error that may occure * * Plays the current buffer of soundcard. */ void ags_soundcard_play(AgsSoundcard *soundcard, GError **error) { AgsSoundcardInterface *soundcard_interface; g_return_if_fail(AGS_IS_SOUNDCARD(soundcard)); soundcard_interface = AGS_SOUNDCARD_GET_INTERFACE(soundcard); g_return_if_fail(soundcard_interface->play); soundcard_interface->play(soundcard, error); }
void ags_apply_tact_launch(AgsTask *task) { AgsApplyTact *apply_tact; apply_tact = AGS_APPLY_TACT(task); if(AGS_IS_APPLICATION_CONTEXT(apply_tact->scope)){ AgsApplicationContext *application_context; application_context = (AgsApplicationContext *) apply_tact->scope; ags_apply_tact_application_context(apply_tact, application_context); }else if(AGS_IS_SOUNDCARD(apply_tact->scope)){ GObject *soundcard; soundcard = apply_tact->scope; ags_apply_tact_soundcard(apply_tact, soundcard); }else if(AGS_IS_SEQUENCER(apply_tact->scope)){ GObject *sequencer; sequencer = apply_tact->scope; ags_apply_tact_sequencer(apply_tact, sequencer); }else if(AGS_IS_AUDIO(apply_tact->scope)){ AgsAudio *audio; audio = AGS_AUDIO(apply_tact->scope); ags_apply_tact_audio(apply_tact, audio); }else if(AGS_IS_CHANNEL(apply_tact->scope)){ AgsChannel *channel; channel = AGS_CHANNEL(apply_tact->scope); ags_apply_tact_channel(apply_tact, channel); }else if(AGS_IS_RECALL(apply_tact->scope)){ AgsRecall *recall; recall = AGS_RECALL(apply_tact->scope); ags_apply_tact_recall(apply_tact, recall); }else{ g_warning("AgsApplyTact: Not supported scope"); } }
/** * ags_soundcard_play: * @soundcard an #AgsSoundcard * @card_id the selected soundcard by its string identifier * @channels_min min channels supported * @channels_max max channels supported * @rate_min min samplerate supported * @rate_max max samplerate supported * @buffer_size_min min buffer size supported by soundcard * @buffer_size_max max buffer size supported by soundcard * @error an error that may occure * * Retrieve detailed information of @card_id soundcard. */ void ags_soundcard_pcm_info(AgsSoundcard *soundcard, gchar *card_id, guint *channels_min, guint *channels_max, guint *rate_min, guint *rate_max, guint *buffer_size_min, guint *buffer_size_max, GError **error) { AgsSoundcardInterface *soundcard_interface; g_return_if_fail(AGS_IS_SOUNDCARD(soundcard)); soundcard_interface = AGS_SOUNDCARD_GET_INTERFACE(soundcard); g_return_if_fail(soundcard_interface->pcm_info); soundcard_interface->pcm_info(soundcard, card_id, channels_min, channels_max, rate_min, rate_max, buffer_size_min, buffer_size_max, error); }