WildMidi_FastSeek(3)

πŸ’– WildMidi_FastSeek(3) β€” the WildMidi Programmer's Manual, bestie edition πŸŽ€

okay so you're reading the page for WildMidi_FastSeek, which lives in the WildMidi Programmer's Manual (section 3, we're fancy like that) ✨


✨ NAME ✨

WildMidi_FastSeek β€” scoot to a specific position inside a midi file πŸ¦‹


🌸 LIBRARY 🌸

libWildMidi β€” she's the one doing all the work, no cap πŸ’…


πŸ‘‘ SYNOPSIS πŸ‘‘

#include <wildmidi_lib.h>

int WildMidi_FastSeek (midi *handle, unsigned long int *sample_pos);

that's it, that's the whole vibe πŸ”₯


πŸ’œ DESCRIPTION πŸ’œ

okay so what this does is: it resets all note specific midi states and active notes first, and then it scans to sample_pos samples from the beginning, taking note of any changes to midi channel states along the way. and then the next time you call WildMidi_GetOutput(3), it'll behave as if you literally started to play the midi from that position. it's giving time travel, honestly 🧚

here's the tea on the args:

  • handle β€” the identifier you got from opening a midi file with WildMidi_Open(3) or WildMidi_OpenBuffer(3). your lil ticket stub 🎟️
  • sample_pos β€” the number of samples from the beginning that you want libWildMidi to seek to. literally just "how far in, in samples" 🌈
NOTE: significant delay can occur when using this function 😭 You can expect even more delay if you select a position that's already been passed, because that forces the library to start from the beginning. so like, rewinding? expensive. going forward? also kinda expensive. plan accordingly bestie πŸ’€

🫢 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_Close(3), WildMidi_Shutdown(3), wildmidi.cfg(5)

the whole friend group, go say hi πŸ‘‹


⭐ AUTHOR ⭐

Chris Ison <chrisisonwildcode@gmail.com> and Bret Curtis <psi29a@gmail.com> β€” the icons who built this πŸ‘‘


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 was WildMidi_FastSeek(3) from the WildMidi Programmer's Manual, dated 10 March 2016 β€” go forth and seek responsibly, ily 🫢🌸