This is great and has lots of potential.
Instead of using Insim circles, did you consider using the car coordinates and checking "manually" if it is in a certain circle?
The advantage of using the Insim-Circles is that pace-notes are basically included in the layout.
However, currently you need an external file anyway, that is a bit clunky.
If we could add notes to Insim-Circles (basically a settable number would be enough) then you would not need the file.
Since you use an extra file anyway, why not also save the trigger-circles in that file?
Instead of using the Insim-Events you would have to "manually" check if the player car is at a certain position but that is not so difficult.
It would allow players to create their own pace notes.
You could have a pacenotes files like this:
x=300, y=500, radius=50, sound=left2.wav
x=500, y=670, radius=70, sound=jump.wav
The player would slowly drive the track and can add notes by typing something like "jump" or "right4"
The program would then write it to the file, automatically adding the current coordinates.
Next step:
When a player joins the server, the server sends a message to the new player containing the pacenotes-data.
