Skip to content

Commit

Permalink
timidity: added Timidity_GetSongTime (from libtimidity.)
Browse files Browse the repository at this point in the history
  • Loading branch information
sezero committed Mar 18, 2021
1 parent 267deeb commit 2918964
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
9 changes: 7 additions & 2 deletions src/timidity/playmidi.c
@@ -1,13 +1,11 @@
/*
TiMidity -- Experimental MIDI to WAVE converter
Copyright (C) 1995 Tuukka Toivonen <toivonen@clinet.fi>
This program is free software; you can redistribute it and/or modify
it under the terms of the Perl Artistic License, available in COPYING.
playmidi.c -- random stuff in need of rearrangement
*/

#define __SDL_SOUND_INTERNAL__
Expand Down Expand Up @@ -647,6 +645,13 @@ Uint32 Timidity_GetSongLength(MidiSong *song)
return retvalue;
}

Uint32 Timidity_GetSongTime(MidiSong *song)
{
Uint32 retvalue = (song->current_sample / song->rate) * 1000;
retvalue += (song->current_sample % song->rate) * 1000 / song->rate;
return retvalue;
}

int Timidity_PlaySome(MidiSong *song, void *stream, Sint32 len)
{
Sint32 start_sample, end_sample, samples;
Expand Down
1 change: 1 addition & 0 deletions src/timidity/timidity.h
Expand Up @@ -151,6 +151,7 @@ extern MidiSong *Timidity_LoadSong(SDL_RWops *rw, SDL_AudioSpec *audio);
extern void Timidity_Start(MidiSong *song);
extern void Timidity_Seek(MidiSong *song, Uint32 ms);
extern Uint32 Timidity_GetSongLength(MidiSong *song); /* returns millseconds */
extern Uint32 Timidity_GetSongTime(MidiSong *song); /* returns millseconds */
extern void Timidity_FreeSong(MidiSong *song);
extern void Timidity_Exit(void);

Expand Down

0 comments on commit 2918964

Please sign in to comment.