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  se-
       quence  channel	intensities.   E.g.   if you're	making a stereo	sample
       with the	samples	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  re-
       spectively.  A single sample, then, refers to the LR pair in this exam-
       ple.

       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+14.3.quarterly>

home | help