.TH WildMidi_GetOutput 3 "10 March 2016" "" "WildMidi Programmer's Manual" .SH NAME WildMidi_GetOutput \- retrieve raw audio data .PP .SH LIBRARY .B libWildMidi .PP .SH SYNOPSIS .B #include .PP .B int WildMidi_GetOutput (midi *\fIhandle\fP, int8_t *\fIbuffer\fP, uint32_t \fIsize\fP); .PP .SH DESCRIPTION Places \fIsize\fP bytes of audio data from a \fIhandle\fP, previously opened by \fBWildMidi_Open\fP\fR(3)\fP or \fBWildMidi_OpenBuffer\fP\fR(3)\fP, into a buffer pointer to by \fIbuffer\fP. .PP \fIbuffer\fP must be at least \fIsize\fP bytes, with \fIsize\fP being a multiple of 4 as the data is stored in 16bit interleaved stereo format. .PP .IP \fIhandle\fP The identifier obtained from opening a midi file with \fBWildMidi_Open\fR(3)\fP or \fBWildMidi_OpenBuffer\fR(3)\fP .PP .IP \fIbuffer\fP The location supplied by the calling program where libWildMidi is to store the audio data. The audio data will be stored as signed 16bit interleaved stereo in native\-endian byte order. .PP .IP \fIsize\fP The size of the buffer in bytes. Since libWildMidi processes the audio in 16bit interleaved stereo format, this value needs to be a multiple of 4. .PP .SH "RETURN VALUE" Returns \-1 on error along with an error message sent to stderr, 0 when there is no more audio data, otherwise the number of bytes of audio data written to \fIbuffer\fP. .PP NOTE: if the return value is less than the size you gave, this does not denote an error, it simply means the lib reached the end of the midi before it could fill the buffer. .PP .SH SEE ALSO .BR WildMidi_GetVersion (3) , .BR WildMidi_Init (3) , .BR WildMidi_MasterVolume (3) , .BR WildMidi_Open (3) , .BR WildMidi_OpenBuffer (3) , .BR WildMidi_SetOption (3) , .BR WildMidi_GetMidiOutput (3) , .BR WildMidi_GetInfo (3) , .BR WildMidi_FastSeek (3) , .BR WildMidi_Close (3) , .BR WildMidi_Shutdown (3) , .BR wildmidi.cfg (5) .PP .SH AUTHOR Chris Ison Bret Curtis .PP .SH COPYRIGHT Copyright (C) WildMidi Developers 2001\-2016 .PP This file is part of WildMIDI. .PP WildMIDI is free software: you can redistribute and/or modify the player under the terms of the GNU General Public License and you can redistribute and/or modify the library under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the licenses, or(at your option) any later version. .PP WildMIDI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License and the GNU Lesser General Public License for more details. .PP You should have received a copy of the GNU General Public License and the GNU Lesser General Public License along with WildMIDI. If not, see . .PP This manpage is licensed under the Creative Commons Attribution\-Share Alike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. .PP