For example a guitar player. He should move his arm fast at fast song parts and slow at slow song parts. Or he should speak the song text at specific song positions. How I can do that? How I can trigger animations or actions at specific song positions?
One of two ways I guess...
1. by using the pause action parts to control when to play a specific kind of animation or force which frames of an animation should be looped with the AnimationFirstFrame & AnimationLastFrame data structure fields.
-- force animation "example" to loop between frames 3 to 5
ActiveAnimations["example"].AnimationFirstFrame = 3
ActiveAnimations["example"].AnimationLastFrame = 5
2. Optionally you could play the song with Lua script via the openAL player & then use a mainLoop to query the current playback position (offset) to start an animation or call an action. It's probably closer to what you are asking, but a lot more complicated than the action part method & it's possible that the mainLoop could miss the range window if the queried values are too small.
3. Actually, yes I know I said 1 of 2 ways but I just thought of another solution that might work as I don't think sounds fade in/out when you play them, so what you could do is chop up the song into parts, then you play one & then start the animation or action associated with it & then add a wait until sound "x" has finished playing then immediately play the next sound & so on.
Whichever way you go about it will require a bit of hard work & some patience.