WildMidi_SetOption(3)

✨ WildMidi_SetOption ✨

okay bestie, welcome to the WildMidi Programmer's Manual πŸ’– this one's called WildMidi_SetOption(3) and it's literally your little remote control for vibes per midi file. let's get into it πŸŽ€


🌸 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 πŸ’œ

so like, the whole point: set a library option for a specific midi. one midi. your midi. main character energy only for that handle 🫢

  • handle β€” the identifier you got from opening a midi file with WildMidi_Open(3) or WildMidi_OpenBuffer(3). that's your lil backstage pass 🎟️
  • options β€” the option (or options, plural, we love a combo) you wish to change. here's the menu, no cap:
    • 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. it's giving "hardware girlie" πŸ”Š
    • 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. the way that it just… fills the gaps 😭 so iconic
    • WM_MO_REVERB β€” libWildMidi has an 8 reflection reverb engine. use this option to give more depth to the output. 8 reflections?? she's doing cardio πŸ’€βœ¨
    • WM_MO_LOOP β€” makes libWildMidi automatically rewind when it reaches the end, so the file would play in continuous loop. infinite loop, infinite slay πŸ”
    • WM_MO_STRIPSILENCE β€” strips silence at song start. no more awkward intro pause bestie πŸ™ˆ
    • WM_MO_SAVEASTYPE0 β€” this option tells WildMidi_GetMidiOutput(3) to output type-0 format data for type-2 files. glow-up conversion fr fr
    • WM_MO_TEXTASLYRIC β€” some files have the lyrics in the text meta event. this option reads lyrics from there instead. scavenging the lyrics from the text event, we love a resourceful queen 🎀
  • setting β€” to turn on an option, repeat that option here. to turn off an option, do not put the option here. that's the whole bit πŸ’…

πŸŽ€ EXAMPLES πŸŽ€

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));
⚠️ bestie, note that the options and the setting have to match up. if you list an option in options, you gotta repeat it in setting to actually turn it on. zero means off. don't get it twisted πŸ™

🌈 RETURN VALUE 🌈

returns -1 on error, otherwise returns 0. simple as. slay βœ…


πŸ‘‘ 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 (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.


and that's the whole page bestie!! 🧚✨ this one's dated 10 March 2016 and lives in the WildMidi_SetOption(3) section of the manual β€” go forth and set those options, you absolute legend πŸ«ΆπŸ’…πŸ’–