logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

WildMidi_GetInfo - get information on a midi

Author

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

Description

       Obtains  information  allowing  you  to  determine  song  position,  current  options,  and any copyright
       information.

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

Library

libWildMidi

Name

       WildMidi_GetInfo - get information on a midi

Return Value

       On error returns NULL with an error message displayed to stderr.

       Otherwise returns a pointer to a struct containing the information.

       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;
       };

       copyright
              A pointer to a \0 terminated string containing any copyright MIDI events  found  while  processing
              the  MIDI  file  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.

       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).approx_total_samples
              This  is  the  total  number of stereo samples libWildMidi expects to process. This can be used 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 multiplying
              by 100, you have the percentage currently processed.

       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)

Synopsis

#include<wildmidi_lib.h>struct_WM_Info*WildMidi_GetInfo(midi*handle);

See Also