WildMidi_InitVIO(3) | WildMidi Programmer's Manual | WildMidi_InitVIO(3) |
WildMidi_InitVIO - Initialize the library with file I/O callbacks
libWildMidi
#include <wildmidi_lib.h>
WildMidi_InitVIO (struct _WM_VIO *callbacks, const char *config_file, uint16_t rate, uint16_t options)
Initializes libWildMidi in preparation for playback, and sets the function pointers for file I/O as provided by the caller. This function only needs to be called once by the program using libWildMidi.
struct _WM_VIO {
/* This function should allocate a buffer which has the size
* of the requested file plus one (size+1), fill the buffer
* with the file content, and the second parameter with the
* size of the file. */
void * (* allocate_file)(const char *, uint32_t *);
/* This function should free the memory of the given buffer */
void (* free_file) (void *); };
WildMidi_GetVersion(3), WildMidi_MasterVolume(3), WildMidi_Open(3), WildMidi_OpenBuffer(3), WildMidi_SetOption(3), WildMidi_GetOutput(3), WildMidi_GetMidiOutput(3), WildMidi_GetInfo(3), WildMidi_FastSeek(3), WildMidi_Close(3), WildMidi_Shutdown(3), wildmidi.cfg(5)
Chris Ison <chrisisonwildcode@gmail.com> Bret Curtis <psi29a@gmail.com>
Copyright (C) WildMidi Developers 2001-2016
This file is part of WildMIDI.
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.
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.
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 <http://www.gnu.org/licenses/>.
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.
18 May 2018 |