SDL_mixer: gme: Let apps choose track index with MIX_PROP_PLAY_START_ORDER_NUMBER.

From d04cc23e0c65bbcbcdce77a7053e32b2a830b21e Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Mon, 13 Jul 2026 12:32:04 -0400
Subject: [PATCH] gme: Let apps choose track index with
 MIX_PROP_PLAY_START_ORDER_NUMBER.

Fixes #876.
---
 src/decoder_gme.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/decoder_gme.c b/src/decoder_gme.c
index 4d84d9f8..352814fe 100644
--- a/src/decoder_gme.c
+++ b/src/decoder_gme.c
@@ -215,6 +215,16 @@ static void SDLCALL GME_quit_audio(void *audio_userdata)
     SDL_assert(audio_userdata == NULL);  // no state.
 }
 
+static bool SDLCALL GME_jump_to_order(void *track_userdata, int order)
+{
+    Music_Emu *emu = (Music_Emu *) track_userdata;
+    gme_err_t err = gme.gme_start_track(emu, order);
+    if (err) {
+        return SDL_SetError("gme_start_track failed: %s", err);
+    }
+    return true;
+}
+
 const MIX_Decoder MIX_Decoder_GME = {
     "GME",
     GME_init,
@@ -222,7 +232,7 @@ const MIX_Decoder MIX_Decoder_GME = {
     GME_init_track,
     GME_decode,
     GME_seek,
-    NULL,  // jump_to_order
+    GME_jump_to_order,
     GME_quit_track,
     GME_quit_audio,
     GME_quit