WildMidi_GetInfo(3)
๐ WildMidi_GetInfo โ bestie edition ๐
okay so this is a page from the WildMidi Programmer's Manual (that's the manual name, we're folding it in, you're welcome โจ). It's WildMidi_GetInfo(3), and it lives in the libWildMidi library. Let's get into it ๐ซถ
โจ NAME โจ
WildMidi_GetInfo โ get information on a midi
no cap, that's the whole thing. it gets you info. on a midi. ๐
๐ LIBRARY ๐
libWildMidi
๐ธ SYNOPSIS ๐ธ
#include <wildmidi_lib.h>
struct _WM_Info *WildMidi_GetInfo (midi *handle);
๐ฆ DESCRIPTION ๐ฆ
So this function hands you the lore, basically. It obtains information allowing you to determine song position, current options, and any copyright information. ๐ฅ
- handle โ the identifier you got from opening a midi file with
WildMidi_Open(3)orWildMidi_OpenBuffer(3)
๐ RETURN VALUE ๐
On error it returns NULL, and an error message gets displayed to stderr. ๐ญ (bestie, always check for NULL, i'm begging)
Otherwise it returns a pointer to a struct containing the information. and here is that struct, character for character, because we do not paraphrase code around here:
struct _WM_Info {
char *copyright;
uint32_t current_sample;
uint32_t approx_total_samples;
uint32_t total_midi_time;
uint16_t mixer_options;
uint32_t total_midi_time;
};
not me noticing total_midi_time is listed twice in there ๐ i'm just reading it back exactly the way the page has it, don't come for me, i don't make the rules ๐
๐ copyright ๐
A pointer to a \0 terminated string containing any copyright MIDI events found while processing the MIDI file that handle refers to. If more than one copyright event was found then each one is separated by \n.
If copyright is NULL then no copyright MIDI events were found. (sad girl hours, but valid)
๐ current_sample ๐
This is the number of stereo samples libWildMidi has processed for the MIDI file referred to by handle. You can use this value to determine the current playing time by dividing this value by the rate given when libWildMidi was initialized by WildMidi_Init(3).
it's giving... math, but make it cute ๐งฎโจ
โญ approx_total_samples โญ
This is the total number of stereo samples libWildMidi expects to process. You can use this to obtain the total playing time by dividing this value by the rate given when libWildMidi was initialized by WildMidi_Init(3). Also, when you divide current_sample by this value and multiply by 100, you have the percentage currently processed.
progress bar core ๐
๐ total_midi_time ๐
This is the total time of MIDI events in 1/1000's of a second. It differs from approx_total_samples in that it only states the total time within the MIDI file and does not take into account the extra bit of time to finish playing sampling smoothly.
๐ mixer_options ๐
WM_MO_LOG_VOLUMEโ using curved volume settings instead of linear ones.WM_MO_ENHANCED_RESAMPLINGโ the enhanced resampler is active.WM_MO_REVERBโ reverb is being added to the final output.
๐ซถ 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_FastSeek(3), WildMidi_Close(3), WildMidi_Shutdown(3), wildmidi.cfg(5)
the whole friend group fr fr, go read them too ๐ฆ
๐ 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.
okay that's the whole page, love that for us ๐ this one's signed off on 10 March 2016, and it's the WildMidi_GetInfo(3) page from the WildMidi Programmer's Manual โ periodt. go forth and read your sample counts, bestie ๐๐
๐ฆ where this page comes from
- arch rolling: wildmidi 0.5.0-1 ยท GPL-3.0-or-later AND LGPL-3.0-or-later
- debian bookworm: libwildmidi-dev 0.4.3-1 ยท LGPL-3.0-or-later
- debian trixie: libwildmidi-dev 0.4.3-1+b3 ยท LGPL-3.0-or-later
- fedora 43: wildmidi-devel 0.4.6-5.fc43 ยท LGPL-3.0-or-later
- fedora 43: wildmidi-devel 0.4.6-5.fc43 ยท LGPL-3.0-or-later
- fedora 44: wildmidi-devel 0.4.6-6.fc44 ยท LGPL-3.0-or-later
- fedora 44: wildmidi-devel 0.4.6-6.fc44 ยท LGPL-3.0-or-later
- nixos 26.05: wildmidi 0.4.6
- nixpkgs unstable: wildmidi 0.5.0
- opensuse-leap 16.0: wildmidi-devel 0.4.6-bp160.1.6 ยท LGPL-3.0-or-later
- opensuse-leap 16.0: wildmidi-devel 0.4.6-bp160.1.6 ยท LGPL-3.0-or-later
- opensuse-leap 16.0: wildmidi-devel 0.4.6-bp160.1.6 ยท LGPL-3.0-or-later
- opensuse-leap 16.0: wildmidi-devel 0.4.6-bp160.1.6 ยท LGPL-3.0-or-later
- ubuntu jammy: libwildmidi-dev 0.4.3-1 ยท LGPL-3.0-or-later
- ubuntu noble: libwildmidi-dev 0.4.3-1build3 ยท LGPL-3.0-or-later
- ubuntu questing: libwildmidi-dev 0.4.3-1build3
- ubuntu resolute: libwildmidi-dev 0.4.6-1 ยท GPL-3.0-only
- ubuntu stonking: libwildmidi-dev 0.4.6-1 ยท GPL-3.0-only
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms