6 me.configureXonoticPlayList(me);
13 me.configureXonoticListBox(me);
18 me.itemAbsSize =
'0 0 0';
21 me.itemAbsSize.y = absSize.y * me.itemHeight;
22 me.itemAbsSize.x = absSize.x * (1 - me.controlWidth);
23 me.realFontSize.y = me.fontSize / me.itemAbsSize.y;
24 me.realFontSize.x = me.fontSize / me.itemAbsSize.x;
25 me.realUpperMargin = 0.5 * (1 - me.realFontSize.y);
27 me.columnNumberOrigin = 0;
28 me.columnNumberSize = 3 * me.realFontSize.x;
30 me.columnNameOrigin = me.columnNumberSize + me.realFontSize.x;
31 me.columnNameSize = 1 - me.columnNameOrigin - me.realFontSize.x;
39 cvar_set(
"music_playlist_list0", track);
43 for(i = 0; i < me.nItems; ++i)
58 for(i = 0; i < me.nItems; ++i)
60 if(i == me.selectedItem)
62 if(i == me.nItems - 1)
63 me.setSelected(me, me.selectedItem - 1);
64 if(
cvar(
"music_playlist_index") == 0 ||
cvar(
"music_playlist_index") == 999)
66 if(
cvar(
"music_playlist_current0") == i)
68 else if(
cvar(
"music_playlist_current0") > i)
69 cvar_set(
"music_playlist_current0",
ftos(
cvar(
"music_playlist_current0") - 1));
79 cvar_set(
"music_playlist_list0",
"");
93 me.removeSelectedFromPlayList(me);
98 cvar_set(
"music_playlist_list0",
"");
111 if(me.selectedItem != i)
114 float c =
cvar(
"music_playlist_current0");
116 cvar_set(
"music_playlist_current0",
ftos(me.selectedItem));
117 else if(c == me.selectedItem)
128 if(
cvar(
"music_playlist_index") == 0 ||
cvar(
"music_playlist_index") == 999)
129 me.playingTrack =
cvar(
"music_playlist_current0");
131 me.playingTrack = -1;
139 draw_Fill(
'0 0 0',
'1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
142 me.focusedItemAlpha =
getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
143 draw_Fill(
'0 0 0',
'1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
146 if(i == me.playingTrack)
148 float f =
cvar(
"music_playlist_sampleposition0");
150 if(f <= 0 || (((
time * 2) & 1) && f > 0))
151 draw_Text(me.realUpperMargin *
eY + (me.columnNumberOrigin + me.columnNumberSize) *
eX,
"\xE2\x96\xB6", me.realFontSize,
'1 1 1', SKINALPHA_TEXT, 0);
155 draw_CenterText(me.realUpperMargin *
eY + (me.columnNumberOrigin + 0.5 * me.columnNumberSize) *
eX, s, me.realFontSize,
'1 1 1', SKINALPHA_TEXT, 0);
158 draw_Text(me.realUpperMargin *
eY + me.columnNameOrigin *
eX, s, me.realFontSize,
'1 1 1', SKINALPHA_TEXT, 0);
165 if(
cvar(
"music_playlist_index") == 0 ||
cvar(
"music_playlist_index") == 999)
167 cvar_set(
"music_playlist_index",
"-1");
168 localcmd(
"\nwait; music_playlist_sampleposition0 0\n");
169 localcmd(
"\ndefer 3 \"cd play $menu_cdtrack\"\n");
184 if(
cvar(
"music_playlist_index") == -1)
186 f =
bound(0,
cvar(
"music_playlist_current0") + offset, me.nItems - 1);
187 if(f ==
cvar(
"music_playlist_current0"))
194 if(f ==
cvar(
"music_playlist_current0"))
195 if(
cvar(
"music_playlist_index") == 999)
206 cvar_set(
"music_playlist_index",
"999");
208 localcmd(
"\nwait; music_playlist_sampleposition0 0; wait; music_playlist_index 0\n");
213 me.startSound(me, 0);
218 me.startSound(me, -1);
223 me.startSound(me, +1);
230 if(
cvar(
"music_playlist_index") == 999)
231 localcmd(
"\nmusic_playlist_index 0; wait; music_playlist_sampleposition0 0\n");
237 if(
cvar(
"music_playlist_index") == 0)
238 localcmd(
"\nmusic_playlist_index 999\n");
239 else me.resumeSound(me);
249 me.startSound(me, 0);
256 me.startSound(me, 0);
267 me.removeSelectedFromPlayList(me);
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
string swapInPriorityList(string order, float i, float j)
strcat(_("^F4Countdown stopped!"), "\n^BG", _("Teams are too unbalanced."))
void XonoticPlayList_stopSound(entity me)
void XonoticPlayList_addToPlayList(entity me, string track)
void StopSound_Click(entity btn, entity me)
void XonoticPlayList_draw(entity me)
void XonoticPlayList_drawListBoxItem(entity me, int i, vector absSize, bool isSelected, bool isFocused)
void NextSound_Click(entity btn, entity me)
entity makeXonoticPlayList()
void PauseSound_Click(entity btn, entity me)
float XonoticPlayList_mouseDrag(entity me, vector pos)
void XonoticPlayList_removeSelectedFromPlayList(entity me)
void XonoticPlayList_startSound(entity me, float offset)
void XonoticPlayList_resumeSound(entity me)
void XonoticPlayList_doubleClickListBoxItem(entity me, float i, vector where)
void XonoticPlayList_pauseSound(entity me)
void XonoticPlayList_configureXonoticPlayList(entity me)
void XonoticPlayList_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
void PlayList_Remove(entity btn, entity me)
void PlayList_Remove_All(entity btn, entity me)
void PrevSound_Click(entity btn, entity me)
void StartSound_Click(entity btn, entity me)
float XonoticPlayList_keyDown(entity me, float scan, float ascii, float shift)