From c1f4785e9a6f59e3a9987e91245a8922188ed652 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Thu, 18 Mar 2021 14:50:02 +0300
Subject: [PATCH] added Timidity_IsActive() and music->TIMIDITY_IsPlaying
---
src/codecs/music_timidity.c | 8 +++++++-
src/codecs/timidity/playmidi.c | 7 +++++--
src/codecs/timidity/timidity.h | 1 +
3 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/codecs/music_timidity.c b/src/codecs/music_timidity.c
index 5c835de..651d770 100644
--- a/src/codecs/music_timidity.c
+++ b/src/codecs/music_timidity.c
@@ -152,6 +152,12 @@ static int TIMIDITY_Play(void *context, int play_count)
return TIMIDITY_Seek(music, 0.0);
}
+static SDL_bool TIMIDITY_IsPlaying(void *context)
+{
+ TIMIDITY_Music *music = (TIMIDITY_Music *)context;
+ return Timidity_IsActive(music->song);
+}
+
static int TIMIDITY_GetSome(void *context, void *data, int bytes, SDL_bool *done)
{
TIMIDITY_Music *music = (TIMIDITY_Music *)context;
@@ -259,7 +265,7 @@ Mix_MusicInterface Mix_MusicInterface_TIMIDITY =
TIMIDITY_SetVolume,
TIMIDITY_GetVolume,
TIMIDITY_Play,
- NULL, /* IsPlaying */
+ TIMIDITY_IsPlaying,
TIMIDITY_GetAudio,
NULL, /* Jump */
TIMIDITY_Seek,
diff --git a/src/codecs/timidity/playmidi.c b/src/codecs/timidity/playmidi.c
index a3b2df9..618f616 100644
--- a/src/codecs/timidity/playmidi.c
+++ b/src/codecs/timidity/playmidi.c
@@ -1,5 +1,4 @@
/*
-
TiMidity -- Experimental MIDI to WAVE converter
Copyright (C) 1995 Tuukka Toivonen <toivonen@clinet.fi>
@@ -7,7 +6,6 @@
it under the terms of the Perl Artistic License, available in COPYING.
playmidi.c -- random stuff in need of rearrangement
-
*/
#include "SDL.h"
@@ -632,6 +630,11 @@ void Timidity_Start(MidiSong *song)
skip_to(song, 0);
}
+int Timidity_IsActive(MidiSong *song)
+{
+ return song->playing;
+}
+
void Timidity_Seek(MidiSong *song, Uint32 ms)
{
skip_to(song, (ms * (song->rate / 100)) / 10);
diff --git a/src/codecs/timidity/timidity.h b/src/codecs/timidity/timidity.h
index 310e1b5..db4c36f 100644
--- a/src/codecs/timidity/timidity.h
+++ b/src/codecs/timidity/timidity.h
@@ -156,6 +156,7 @@ 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 int Timidity_IsActive(MidiSong *song);
extern void Timidity_FreeSong(MidiSong *song);
extern void Timidity_Exit(void);