Removed RCS-style IDs.
[multipass-eu.git] / src / player-display-track.sma
1 #define SONGNAME_SCROLL_SPEED 0.2857
2
3 public songname_len;
4 public songname_animator;
5 public songname_timer;
6
7 public on_songname_animator_restart(val)
8 {
9         new id;
10
11         id = anim (get_int (songname_len) * SONGNAME_SCROLL_SPEED,
12                    "on_songname_animator", round (abs (1 - val)));
13         set_int (songname_animator, id);
14 }
15
16 public on_songname_animator(val, Float:pos)
17 {
18         new p = PART:"player.songname";
19
20         set_state_val (p, STATE_ALIGNMENT, abs (val - pos), 0.5);
21         set_state (p, "custom", 0.0);
22
23         if (pos == 1.0) {
24                 new id = timer (1.0, "on_songname_animator_restart", val);
25                 set_int (songname_timer, id);
26         }
27 }
28
29 public set_songname (sname[], len)
30 {
31         new p = PART:"player.songname", id;
32
33         if ((id = get_int (songname_timer)))
34                 cancel_timer (id);
35
36         if ((id = get_int (songname_animator)))
37                 cancel_anim (id);
38
39         set_text (p, sname);
40         set_state (p, "default", 0.0);
41
42         /* with the font and size we're using, 18 characters
43          * are fitting into the display (no scrolling required)
44          */
45         len -= 18;
46
47         if (len > 0) {
48                 set_int (songname_len, len);
49
50                 id = timer (1.0, "on_songname_animator_restart", 1);
51                 set_int (songname_timer, id);
52         }
53 }