1 #ifndef DIALOG_MULTIPLAYER_MEDIA_MUSICPLAYER_H
2 #define DIALOG_MULTIPLAYER_MEDIA_MUSICPLAYER_H
4 CLASS(XonoticMusicPlayerTab, XonoticTab)
5 METHOD(XonoticMusicPlayerTab, fill, void(entity))
6 ATTRIB(XonoticMusicPlayerTab, title, string, _("Music"))
7 ATTRIB(XonoticMusicPlayerTab, intendedWidth, float, 0.9)
8 ATTRIB(XonoticMusicPlayerTab, rows, float, 21)
9 ATTRIB(XonoticMusicPlayerTab, columns, float, 6.5)
10 ATTRIB(XonoticMusicPlayerTab, name, string, "MusicPlayer")
11 ENDCLASS(XonoticMusicPlayerTab)
12 entity makeXonoticMusicPlayerTab();
16 entity makeXonoticMusicPlayerTab()
19 me = NEW(XonoticMusicPlayerTab);
20 me.configureDialog(me);
23 void XonoticMusicPlayerTab_fill(entity me)
26 entity soundList, playList;
27 float columns_nospacing = (me.columns - 0.2);
30 me.TD(me, 1, 0.5, e = makeXonoticTextLabel(0, _("Filter:")));
31 me.TD(me, 1, 2.5, e = makeXonoticInputBox(0, string_null));
32 soundList = makeXonoticSoundList();
33 e.onChange = SoundList_Filter_Change;
34 e.onChangeEntity = soundList;
35 soundList.controlledTextbox = e;
36 playList = makeXonoticPlayList();
37 soundList.playlist = playList;
40 me.TD(me, me.rows - 4, columns_nospacing / 2, soundList);
42 me.gotoRC(me, me.rows - 3, 0);
43 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Add")), '0 0 0'));
44 e.onClick = SoundList_Add;
45 e.onClickEntity = soundList;
46 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Add all")), '0 0 0'));
47 e.onClick = SoundList_Add_All;
48 e.onClickEntity = soundList;
50 me.TD(me, 1, columns_nospacing / 2, e = makeXonoticButton(_("Set as menu track"), '0 0 0'));
51 e.onClick = SoundList_Menu_Track_Change;
52 e.onClickEntity = soundList;
54 me.TD(me, 1, columns_nospacing / 2, e = makeXonoticButton(_("Reset default menu track"), '0 0 0'));
55 e.onClick = SoundList_Menu_Track_Reset;
56 e.onClickEntity = soundList;
59 me.gotoRC(me, 0, columns_nospacing / 2 + 0.2); me.setFirstColumn(me, me.currentColumn);
60 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticTextLabel(0, _("Playlist:")));
61 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticCheckBox(0, "music_playlist_random0", _("Random order")));
63 me.TD(me, me.rows - 3, columns_nospacing / 2, playList);
65 me.gotoRC(me, me.rows - 2, columns_nospacing / 2 + 0.2);
66 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Stop")), '0 0 0'));
67 e.onClick = StopSound_Click;
68 e.onClickEntity = playList;
69 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Play")), '0 0 0'));
70 e.onClick = StartSound_Click;
71 e.onClickEntity = playList;
72 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Pause")), '0 0 0'));
73 e.onClick = PauseSound_Click;
74 e.onClickEntity = playList;
75 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Prev")), '0 0 0'));
76 e.onClick = PrevSound_Click;
77 e.onClickEntity = playList;
78 me.TD(me, 1, columns_nospacing / 10, e = makeXonoticButton(ZCTX(_("MUSICPL^Next")), '0 0 0'));
79 e.onClick = NextSound_Click;
80 e.onClickEntity = playList;
82 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Remove")), '0 0 0'));
83 e.onClick = PlayList_Remove;
84 e.onClickEntity = playList;
85 me.TD(me, 1, columns_nospacing / 4, e = makeXonoticButton(ZCTX(_("MUSICPL^Remove all")), '0 0 0'));
86 e.onClick = PlayList_Remove_All;
87 e.onClickEntity = playList;