AgsDevout

AgsDevout — Outputting to soundcard

Functions

Types and Values

Includes

#include <ags/audio/ags_devout.h>

Description

AgsDevout represents a soundcard and supports output.

Functions

AGS_DEVOUT_PLAY_DOMAIN()

#define AGS_DEVOUT_PLAY_DOMAIN(ptr)    ((AgsDevoutPlayDomain *)(ptr))


AGS_DEVOUT_PLAY()

#define AGS_DEVOUT_PLAY(ptr)           ((AgsDevoutPlay *)(ptr))


AGS_DEVOUT_DEFAULT_SAMPLERATE

#define AGS_DEVOUT_DEFAULT_SAMPLERATE (44100.0)


AGS_DEVOUT_DEFAULT_FORMAT

#define AGS_DEVOUT_DEFAULT_FORMAT (AGS_DEVOUT_RESOLUTION_16_BIT)


AGS_DEVOUT_DEFAULT_BUFFER_SIZE

#define AGS_DEVOUT_DEFAULT_BUFFER_SIZE (944)


AGS_DEVOUT_DEFAULT_BPM

#define AGS_DEVOUT_DEFAULT_BPM (120.0)


AGS_DEVOUT_DEFAULT_JIFFIE

#define AGS_DEVOUT_DEFAULT_JIFFIE ((double) AGS_DEVOUT_DEFAULT_SAMPLERATE / (double) AGS_DEVOUT_DEFAULT_BUFFER_SIZE)


AGS_DEVOUT_DEFAULT_TACT

#define AGS_DEVOUT_DEFAULT_TACT (1.0 / 1.0)


AGS_DEVOUT_DEFAULT_TACT_JIFFIE

#define AGS_DEVOUT_DEFAULT_TACT_JIFFIE (60.0 / AGS_DEVOUT_DEFAULT_BPM * AGS_DEVOUT_DEFAULT_TACT)


AGS_DEVOUT_DEFAULT_TACTRATE

#define AGS_DEVOUT_DEFAULT_TACTRATE (1.0 / AGS_DEVOUT_DEFAULT_TACT_JIFFIE)


AGS_DEVOUT_DEFAULT_SCALE

#define AGS_DEVOUT_DEFAULT_SCALE (1.0)


AGS_DEVOUT_DEFAULT_DELAY

#define AGS_DEVOUT_DEFAULT_DELAY (AGS_DEVOUT_DEFAULT_JIFFIE * (60.0 / AGS_DEVOUT_DEFAULT_BPM))


AGS_DEVOUT_DEFAULT_PERIOD

#define AGS_DEVOUT_DEFAULT_PERIOD (64.0)

AGS_DEVOUT_ERROR

#define AGS_DEVOUT_ERROR (ags_devout_error_quark())


ags_devout_error_quark ()

GQuark
ags_devout_error_quark ();

Returns


ags_devout_play_domain_alloc ()

AgsDevoutPlayDomain *
ags_devout_play_domain_alloc ();

Allocs an AgsDevoutPlayDomain.

Returns

the devout play domain

Since 0.4


ags_devout_play_domain_free ()

void
ags_devout_play_domain_free (AgsDevoutPlayDomain *devout_play_domain);

Frees an AgsDevoutPlayDomain.

Parameters

devout_play_domain

the devout play domain

 

Since 0.4


ags_devout_play_alloc ()

AgsDevoutPlay *
ags_devout_play_alloc ();

Allocs an AgsDevoutPlay.

Returns

the devout play

Since 0.4


ags_devout_play_free ()

void
ags_devout_play_free (AgsDevoutPlay *devout_play);

Frees an AgsDevoutPlay.

Parameters

devout_play

the devout play

 

Since 0.4


ags_devout_play_find_source ()

AgsDevoutPlay *
ags_devout_play_find_source (GList *devout_play,
                             GObject *source);

Find source

Parameters

devout_play

a GList containing AgsDevoutPlay

 

Returns

the matching devout play

Since 0.4


ags_devout_list_cards ()

void
ags_devout_list_cards (GList **card_id,
                       GList **card_name);

List available soundcards.

Parameters

card_id

alsa identifier

 

card_name

card name

 

Since 0.4


ags_devout_pcm_info ()

void
ags_devout_pcm_info (char *card_id,
                     guint *channels_min,
                     guint *channels_max,
                     guint *rate_min,
                     guint *rate_max,
                     guint *buffer_size_min,
                     guint *buffer_size_max,
                     GError **error);

List soundcard settings.

Parameters

card_id

alsa identifier

 

channels_min

minimum channels supported

 

channels_max

maximum channels supported

 

rate_min

minimum samplerate supported

 

rate_max

maximum samplerate supported

 

buffer_size_min

minimum buffer size supported buffer_size_max maximum buffer size supported

 

error

on success NULL

 

Since 0.4


ags_devout_tic ()

void
ags_devout_tic (AgsDevout *devout);

The tic of devout.

Parameters

devout

an AgsDevout

 

Since 0.4


ags_devout_note_offset_changed ()

void
ags_devout_note_offset_changed (AgsDevout *devout,
                                guint note_offset);


ags_devout_new ()

AgsDevout *
ags_devout_new (GObject *ags_main);

Creates an AgsDevout, refering to ags_main .

Parameters

ags_main

the AgsMain

 

Returns

a new AgsDevout

Since 0.3

Types and Values

enum AgsDevoutFlags

Members

AGS_DEVOUT_BUFFER0

   

AGS_DEVOUT_BUFFER1

   

AGS_DEVOUT_BUFFER2

   

AGS_DEVOUT_BUFFER3

   

AGS_DEVOUT_ATTACK_FIRST

   

AGS_DEVOUT_PLAY

   

AGS_DEVOUT_LIBAO

   

AGS_DEVOUT_OSS

   

AGS_DEVOUT_ALSA

   

AGS_DEVOUT_SHUTDOWN

   

AGS_DEVOUT_START_PLAY

   

AGS_DEVOUT_NONBLOCKING

   

AGS_DEVOUT_TIMING_SET_0

   

AGS_DEVOUT_TIMING_SET_1

   

enum AgsDevoutPlayFlags

Members

AGS_DEVOUT_PLAY_DONE

   

AGS_DEVOUT_PLAY_REMOVE

   

AGS_DEVOUT_PLAY_CHANNEL

   

AGS_DEVOUT_PLAY_PAD

   

AGS_DEVOUT_PLAY_AUDIO

   

AGS_DEVOUT_PLAY_PLAYBACK

   

AGS_DEVOUT_PLAY_SEQUENCER

   

AGS_DEVOUT_PLAY_NOTATION

   

AGS_DEVOUT_PLAY_SUPER_THREADED

   

enum AgsDevoutResolutionMode

Members

AGS_DEVOUT_RESOLUTION_8_BIT

   

AGS_DEVOUT_RESOLUTION_16_BIT

   

AGS_DEVOUT_RESOLUTION_24_BIT

   

AGS_DEVOUT_RESOLUTION_32_BIT

   

AGS_DEVOUT_RESOLUTION_64_BIT

   

enum AgsDevoutError

Members

AGS_DEVOUT_ERROR_LOCKED_SOUNDCARD

   

struct AgsDevoutPlayDomain

struct AgsDevoutPlayDomain {
  GObject *domain;
  
  gboolean playback;
  gboolean sequencer;
  gboolean notation;

  GList *devout_play;
};

A AgsDevoutPlayDomain represents the entire possible play/recall context.

Members

GObject *domain;

the source

 

gboolean playback;

if TRUE playback is on

 

gboolean sequencer;

if TRUE sequencer is on

 

gboolean notation;

if TRUE notation is on

 

GList *devout_play;

a GList of AgsDevoutPlay

 

struct AgsDevoutPlay

struct AgsDevoutPlay {
  guint flags;

  AgsIteratorThread **iterator_thread;

  GObject *source;
  guint audio_channel;

  AgsRecallID **recall_id;
};

A AgsDevoutPlay represents the play/recall in AgsChannel or AgsRecall scope to do output to device.

Members

guint flags;

the internal state

 

AgsIteratorThread **iterator_thread;

Super-threaded related AgsThread. Index 0 playback, 1 sequencer and 2 notation.

 

GObject *source;

either AgsChannel or AgsRecall

 

guint audio_channel;

destination audio channel

 

AgsRecallID **recall_id;

array pointing to appropriate AgsRecallID. Index 0 playback, 1 sequencer and 2 notation.