15 m_playlistPosition(-1),
18 m_repeat(false), m_shuffle(false),
19 m_eqdata(), m_eqindex(0),
21 m_stopType(Performed),
24 char title[MAX_PATH] =
"";
25 char filename[MAX_PATH] =
"";
26 for (
int i = 0 ; i < 20 ; i++)
28 sprintf(title,
"playlist item %d", i);
29 sprintf(filename,
"c:\\music\\file%d", i);
44 void WinampTestServer::wrapPlaylistIndex(
int increment)
46 m_playlistPosition += increment;
47 int length = m_playList.size();
48 m_playlistPosition = m_playlistPosition % length;
51 void WinampTestServer::updateStatus()
62 DWORD currentCount = GetTickCount();
63 if (currentCount < (m_StartCount + 1000))
73 void WinampTestServer::setPlaying()
79 void WinampTestServer::setStop(StopType stop)
81 m_StartCount = GetTickCount();
89 switch (MessageToExecute)
99 m_playlistPosition = (-1 == m_playlistPosition)? 0 : m_playlistPosition;
116 wrapPlaylistIndex(1);
119 wrapPlaylistIndex(-1);
124 m_repeat = !m_repeat;
127 m_shuffle = !m_shuffle;
130 m_playlistPosition = 0;
133 m_playlistPosition = m_playList.size() - 1;
136 m_songPosition += 5000;
139 m_songPosition -= 5000;
156 m_playList.push_back(pi);
160 throw std::runtime_error(
"WinampTestServer::ExecuteStringCommand not implemented");
175 return m_playbackStatus;
177 m_playlistPosition = Data;
181 return m_songPosition;
184 return m_playList.size();
186 return m_playlistPosition;
188 if ((Data >= 0 ) && (Data < 13))
191 return m_eqdata[m_eqindex];
207 m_songPosition = Data;
211 m_playlistPosition = (-1 == m_playlistPosition)? 0 : m_playlistPosition;
214 m_eqdata[m_eqindex] = Data;
217 m_shuffle = (Data)?
true:
false;
220 m_repeat = (Data)?
true:
false;
231 m_playlistPosition = 0;
241 if ( (Data > -1) && (Data < (
int) m_playList.size() ) )
246 return m_playList[Data].title;
248 return m_playList[Data].filename;
251 std::stringstream sstr;
252 sstr <<
"WinampTestServer::QueryString not implemented for " <<
Command;
253 throw std::runtime_error(sstr.str());
259 return ( std::string(
"error index out of range" ) );