Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
al_create_sample(3)	    Library Functions Manual	     al_create_sample(3)

NAME
     al_create_sample - Allegro 5 API

SYNOPSIS
	    #include <allegro5/allegro_audio.h>

	    ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples,
	       unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,
	       ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf)

DESCRIPTION
     Create  a	sample	data structure from the supplied buffer.  If free_buf is
     true then the buffer will be freed with al_free(3)  when  the  sample  data
     structure	is  destroyed.	For portability (especially Windows), the buffer
     should have been allocated with al_malloc(3).  Otherwise  you  should  free
     the sample data yourself.

     A	sample that is referred to by the samples parameter refers to a sequence
     channel intensities.  E.g.  if you're making a stereo sample with the  sam-
     ples set to 4, then the layout of the data in buf will be:

	    LRLRLRLR

     Where  L  and R are the intensities for the left and right channels respec-
     tively.  A single sample, then, refers to the LR pair in this example.

     To allocate a buffer of the correct size, you can use something like this:

	    int sample_size = al_get_channel_count(chan_conf)
			      * al_get_audio_depth_size(depth);
	    int bytes = samples * sample_size;
	    void *buffer = al_malloc(bytes);

SEE ALSO
     al_destroy_sample(3), ALLEGRO_AUDIO_DEPTH(3), ALLEGRO_CHANNEL_CONF(3)

Allegro reference manual				     al_create_sample(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=al_create_sample&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help