Der PlayMusic-Befehl in PB kann
verschiedene SoundTracker Musikstücke abspielen.
Leider hat dieser Befehl keinen autoloop, wie bei Playsound,
dh. bei vielen Musikstücken hört die Musik eben auf.
Natürlich könnte man mit GetMusicPosition und SetMusicPosition
auslesen, wo die Abspielroutine gerade ist und das Abspielen
wieder auf Track 0, den Start setzen.
Allerdings ist das ziemlich ungenau und auch diese Abfrage
im Gameloop kann man sich sparen.
Alles was man braucht ist ein Musiktracker, keine Angst, man muss keinen Amiga-Emulator
starten und sich nen alten ProTracker raussuchen

in der Demoscene wird freudig weiterentwickelt und auch alte Tracker
wurden zu Linux und Windows portiert.
Die Funktionsweise ist kurz erklärt, im Musikeditor kann man nicht nur
die Samples und ihre Noten setzen sondern auch Steuerzeichen.
zb wurde sowas mal zur Syncronität von Intros oder Demos verwendet.
unter anderem auch Sprünge zu Positionen im aktuellem Pattern und/oder
im ganzen Musikstück.
Hier im Beispiel benutzen wir ein XM-modul, diese sind am meisten verbreitet
und auch verschiedene alte Modul-Typen wurden zu XM konvertiert.
xm kann man zb mit dem Milky-Tracker bearbeiten.
https://milkytracker.org/
und dieser sieht so aus:

Wir laden einfach unser Musikstück
links oben sehen wir "Length 18", also unser Musikstück
ist 18 Pattern lang.
Darüber kann man die Tracks aussuchen , wir scrollen bis zum letzten
Track und im Hauptfenster bis zur letzten Note.

wenn uns auffällt, das in dem letzten Pattern garkeine Noten
im Haupteditor-Fenster mehr angezeigt werden, dann
hat der Komponist einfach 1,2 Tracks leergelassen,
wir gehen zum letzten Pattern mit Noten
In unserem Fall die 13

hier sehen wir die letzte Note das Musikstücks, das c
nun Scrollen wir bis ganz runter im Haupteditor
und setzen unsere Sprungmarke in der letzten Zeile
der Befehl für Springen zum Pattern ist "B" in unserem Fall
"B00" springe zu position 0, der Start des Musikstücks.
Wir gehen also zur letzten Zeile, drücken Space für
den Editiermodus (ein Relikt aus alten Tagen, ging fast in jedem Editor mir Space)

und setzen an der Position für die Steuerzeichen unser "B00".
im Grunde reicht es in einer Spalte.
Und eben wieder Abspeichern.
Damit haben wir unser Musikstück geloopt, also wenn die Abspielroutiene
diese Position erreicht, springt sie sofort zum Start des Songs.
Jetzt brauchen wir nur noch ein PlayMusic(xxx) vor unserem
Gameloop und brauchen uns um die Hintergrundmusik nicht
weiter kümmern.
viel spass