WildMidi_SetOption(3)

NAME
WildMidi_SetOption - Set a library option for a specific midi

LIBRARY
libWildMidi

SYNOPSIS
#include <wildmidi_lib.h>

int WildMidi_SetOption (midi *handle, uint16_t options, uint16_t setting)

DESCRIPTION
Set a library option for a specific midi.

handle
    The identifier obtained from opening a midi file with WildMidi_Open(3) or WildMidi_OpenBuffer(3)

options The option or options you wish to change.

    WM_MO_LOG_VOLUME
        By default the library uses linear volume levels typically used in computer MIDI players. These can differ somewhat to volume levels found on some midi hardware which may use a volume curve based on decibels. This option sets the volume levels to what you'd expect on such devices.

    WM_MO_ENHANCED_RESAMPLING
        By default libWildMidi uses linear interpolation for the resampling of the sound samples. Setting this option enables the library to use a resampling method that attempts to fill in the gaps giving richer sound.

    WM_MO_REVERB
        libWildMidi has an 8 reflection reverb engine. Use this option to give more depth to the output.

    WM_MO_LOOP
        Makes libWildMidi to automatically rewind when it reaches the end, so the file would play in continuous loop.

    WM_MO_STRIPSILENCE
        Strips silence at song start.

    WM_MO_SAVEASTYPE0
        This option tells WildMidi_GetMidiOutput(3) to output type-0 format data for type-2 files.

    WM_MO_TEXTASLYRIC
        Some files have the lyrics in the text meta event. This option reads lyrics from there instead.

setting
    To turn on an option, repeat that option here. To turn off an option, do not put the option here.

Example: To turn on Reverb
    WildMidi_SetOption(handle, WM_MO_REVERB, WM_MO_REVERB);

Example: To turn off Reverb
    WildMidi_SetOption(handle, WM_MO_REVERB, 0);

Example: To turn on Reverb and Enhanced Resampling
    WildMidi_SetOption(handle, (WM_MO_REVERB | WM_MO_ENHANCED_RESAMPLING), (WM_MO_REVERB | WM_MO_ENHANCED_RESAMPLING));

RETURN VALUE
Returns -1 on error, otherwise returns 0.

SEE ALSO
WildMidi_GetVersion(3), WildMidi_Init(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)

AUTHOR
Chris Ison <chrisisonwildcode@gmail.com> Bret Curtis <psi29a@gmail.com>

COPYRIGHT
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.