2 CLASS(XonoticMusicPlayerTab) EXTENDS(XonoticTab)
3 METHOD(XonoticMusicPlayerTab, fill, void(entity))
4 ATTRIB(XonoticMusicPlayerTab, title, string, _("Music"))
5 ATTRIB(XonoticMusicPlayerTab, intendedWidth, float, 0.9)
6 ATTRIB(XonoticMusicPlayerTab, rows, float, 21)
7 ATTRIB(XonoticMusicPlayerTab, columns, float, 6.5)
8 ATTRIB(XonoticMusicPlayerTab, name, string, "MusicPlayer")
9 ENDCLASS(XonoticMusicPlayerTab)
10 entity makeXonoticMusicPlayerTab();
14 entity makeXonoticMusicPlayerTab()
17 me = spawnXonoticMusicPlayerTab();
18 me.configureDialog(me);
21 void XonoticMusicPlayerTab_fill(entity me)
24 entity soundList, playList;
25 float columns_nospacing = (me.columns - 0.2);
28 me.TD(me, 1, 0.5, e = makeXonoticTextLabel(0, _("Filter:")));
29 me.TD(me, 1, 2.5, e = makeXonoticInputBox(0, string_null));
30 soundList = makeXonoticSoundList();
31 e.onChange = SoundList_Filter_Change;
32 e.onChangeEntity = soundList;
33 soundList.controlledTextbox = e;
34 playList = makeXonoticPlayList();
35 soundList.playlist = playList;
38 me.TD(me, me.rows - 4, columns_nospacing / 2, soundList);
40 me.gotoRC(me, me.rows - 3, 0);
41 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Add")), '0 0 0'));
42 e.onClick = SoundList_Add;
43 e.onClickEntity = soundList;
44 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Add all")), '0 0 0'));
45 e.onClick = SoundList_Add_All;
46 e.onClickEntity = soundList;
48 me.TD(me, 1, columns_nospacing / 2, e = makeXonoticButton(_("Set as menu track"), '0 0 0'));
49 e.onClick = SoundList_Menu_Track_Change;
50 e.onClickEntity = soundList;
52 me.TD(me, 1, columns_nospacing / 2, e = makeXonoticButton(_("Reset default menu track"), '0 0 0'));
53 e.onClick = SoundList_Menu_Track_Reset;
54 e.onClickEntity = soundList;
57 me.gotoRC(me, 0, columns_nospacing / 2 + 0.2); me.setFirstColumn(me, me.currentColumn);
58 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticTextLabel(0, _("Playlist:")));
59 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticCheckBox(0, "music_playlist_random0", _("Random order")));
61 me.TD(me, me.rows - 3, columns_nospacing / 2, playList);
63 me.gotoRC(me, me.rows - 2, columns_nospacing / 2 + 0.2);
64 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Stop")), '0 0 0'));
65 e.onClick = StopSound_Click;
66 e.onClickEntity = playList;
67 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Play")), '0 0 0'));
68 e.onClick = StartSound_Click;
69 e.onClickEntity = playList;
70 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Pause")), '0 0 0'));
71 e.onClick = PauseSound_Click;
72 e.onClickEntity = playList;
73 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Prev")), '0 0 0'));
74 e.onClick = PrevSound_Click;
75 e.onClickEntity = playList;
76 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Next")), '0 0 0'));
77 e.onClick = NextSound_Click;
78 e.onClickEntity = playList;
80 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Remove")), '0 0 0'));
81 e.onClick = PlayList_Remove;
82 e.onClickEntity = playList;
83 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Remove all")), '0 0 0'));
84 e.onClick = PlayList_Remove_All;
85 e.onClickEntity = playList;