0,
0,
340,
- 30,
+ 20,
hwnd,
NULL,
hInstance,
}
static UINT
-IsSupportedFileExtension(LPWSTR lpFileName)
+IsSupportedFileExtension(LPTSTR lpFileName)
{
TCHAR szExt[MAX_PATH];
INT DotPos = 0, i, j;
if (bIsOpened)
{
- dwError = mciSendCommand(wDeviceId, MCI_CLOSE, MCI_WAIT, (DWORD)(LPMCI_GENERIC_PARMS)&mciGeneric);
+ dwError = mciSendCommand(wDeviceId, MCI_CLOSE, MCI_WAIT, (DWORD_PTR)&mciGeneric);
if (dwError) return dwError;
bIsOpened = FALSE;
}
}
static DWORD
-OpenMciDevice(LPTSTR lpType, LPTSTR lpFileName)
+OpenMciDevice(HWND hwnd, LPTSTR lpType, LPTSTR lpFileName)
{
MCI_STATUS_PARMS mciStatus;
MCI_OPEN_PARMS mciOpen;
+ TCHAR szNewTitle[MAX_PATH];
DWORD dwError;
if (bIsOpened)
mciOpen.wDeviceID = 0;
mciOpen.lpstrAlias = NULL;
- dwError = mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_ELEMENT | MCI_WAIT, (DWORD)(LPVOID)&mciOpen);
+ dwError = mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_ELEMENT | MCI_WAIT, (DWORD_PTR)&mciOpen);
if (dwError != 0)
{
MessageBox(0, _T("Can't open device! (1)"), NULL, MB_OK);
mciStatus.dwItem = MCI_STATUS_LENGTH;
- dwError = mciSendCommand(mciOpen.wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_WAIT, (DWORD)(LPVOID)&mciStatus);
+ dwError = mciSendCommand(mciOpen.wDeviceID, MCI_STATUS, MCI_STATUS_ITEM | MCI_WAIT, (DWORD_PTR)&mciStatus);
if (dwError != 0)
{
MessageBox(0, _T("Can't open device! (2)"), NULL, MB_OK);
SendMessage(hTrackBar, TBM_SETTICFREQ, (WPARAM) 100000, (LPARAM) 0);
}
+ _stprintf(szNewTitle, _T("%s - %s"), szAppTitle, lpFileName);
+ SetWindowText(hwnd, szNewTitle);
+
MaxFilePos = mciStatus.dwReturn;
wDeviceId = mciOpen.wDeviceID;
bIsOpened = TRUE;
- lstrcpy(szPrevFile, lpFileName);
+ _tcscpy(szPrevFile, lpFileName);
return TRUE;
}
if (bIsOpened)
{
- mciSeek.dwTo = dwNewPos;
- dwError = mciSendCommand(wDeviceId, MCI_SEEK, MCI_WAIT | MCI_TO, (DWORD)(LPVOID)&mciSeek);
+ mciSeek.dwTo = (DWORD_PTR)dwNewPos;
+ dwError = mciSendCommand(wDeviceId, MCI_SEEK, MCI_WAIT | MCI_TO, (DWORD_PTR)&mciSeek);
if (dwError != 0)
{
MessageBox(hwnd, _T("SeekPlayback: Can't seek!"), NULL, MB_OK);
}
- mciPlay.dwCallback = (DWORD)hwnd;
- dwError = mciSendCommand(wDeviceId, MCI_PLAY, MCI_NOTIFY, (DWORD)(LPVOID)&mciPlay);
+ mciPlay.dwCallback = (DWORD_PTR)hwnd;
+ dwError = mciSendCommand(wDeviceId, MCI_PLAY, MCI_NOTIFY, (DWORD_PTR)&mciPlay);
if (dwError != 0)
{
MessageBox(hwnd, _T("SeekPlayback: Can't play!"), NULL, MB_OK);
if (!bIsOpened) return;
mciStatus.dwItem = MCI_STATUS_POSITION;
- mciSendCommand(wDeviceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
+ mciSendCommand(wDeviceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD_PTR)&mciStatus);
dwNewPos = mciStatus.dwReturn - 1;
if (!bIsOpened) return;
mciStatus.dwItem = MCI_STATUS_POSITION;
- mciSendCommand(wDeviceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
+ mciSendCommand(wDeviceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD_PTR)&mciStatus);
dwNewPos = mciStatus.dwReturn + 1;
if (bIsOpened)
{
- dwError = mciSendCommand(wDeviceId, MCI_PAUSE, MCI_WAIT, (DWORD)(LPMCI_GENERIC_PARMS)&mciGeneric);
+ dwError = mciSendCommand(wDeviceId, MCI_PAUSE, MCI_WAIT, (DWORD_PTR)&mciGeneric);
if (dwError != 0)
{
MessageBox(hwnd, _T("Can't pause!"), NULL, MB_OK);
if (bIsPaused)
{
- dwError = mciSendCommand(wDeviceId, MCI_RESUME, MCI_WAIT, (DWORD)(LPMCI_GENERIC_PARMS)&mciGeneric);
+ dwError = mciSendCommand(wDeviceId, MCI_RESUME, MCI_WAIT, (DWORD_PTR)&mciGeneric);
if (dwError != 0)
{
MessageBox(hwnd, _T("Can't resume!"), NULL, MB_OK);
if (!bIsOpened) KillTimer(hwnd, IDT_PLAYTIMER);
mciStatus.dwItem = MCI_STATUS_POSITION;
- mciSendCommand(wDeviceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatus);
+ mciSendCommand(wDeviceId, MCI_STATUS, MCI_STATUS_ITEM, (DWORD_PTR)&mciStatus);
dwPos = mciStatus.dwReturn;
if((UINT)dwPos >= MaxFilePos)
}
static VOID
-PlayFile(HWND hwnd, LPWSTR lpFileName)
+PlayFile(HWND hwnd, LPTSTR lpFileName)
{
MCI_PLAY_PARMS mciPlay;
TCHAR szLocalFileName[MAX_PATH];
UINT FileType;
- DWORD dwError;
+ MCIERROR mciError;
if (lpFileName == NULL)
{
if (szPrevFile[0] == _T('\0'))
return;
- lstrcpy(szLocalFileName, szPrevFile);
+ _tcscpy(szLocalFileName, szPrevFile);
}
else
{
- lstrcpy(szLocalFileName, lpFileName);
+ _tcscpy(szLocalFileName, lpFileName);
}
if (GetFileAttributes(szLocalFileName) == INVALID_FILE_ATTRIBUTES)
MessageBox(hwnd, _T("Unsupported format!"), NULL, MB_OK);
return;
case WAVE_FILE:
- OpenMciDevice(_T("waveaudio"), szLocalFileName);
+ OpenMciDevice(hwnd, _T("waveaudio"), szLocalFileName);
break;
case MIDI_FILE:
- OpenMciDevice(_T("sequencer"), szLocalFileName);
+ OpenMciDevice(hwnd, _T("sequencer"), szLocalFileName);
break;
case AUDIOCD_FILE:
- OpenMciDevice(_T("cdaudio"), szLocalFileName);
+ OpenMciDevice(hwnd, _T("cdaudio"), szLocalFileName);
break;
case AVI_FILE:
- OpenMciDevice(_T("avivideo"), szLocalFileName);
+ OpenMciDevice(hwnd, _T("avivideo"), szLocalFileName);
break;
}
SetTimer(hwnd, IDT_PLAYTIMER, 100, (TIMERPROC) PlayTimerProc);
- dwError = mciSendCommand(wDeviceId, MCI_SEEK, MCI_WAIT | MCI_SEEK_TO_START, 0);
+ mciSendCommand(wDeviceId, MCI_SEEK, MCI_WAIT | MCI_SEEK_TO_START, 0);
- mciPlay.dwCallback = (DWORD)hwnd;
+ mciPlay.dwCallback = (DWORD_PTR)hwnd;
mciPlay.dwFrom = 0;
mciPlay.dwTo = MaxFilePos;
- dwError = mciSendCommand(wDeviceId, MCI_PLAY, MCI_NOTIFY | MCI_FROM | MCI_TO, (DWORD)(LPVOID)&mciPlay);
- if (dwError != 0)
+ mciError = mciSendCommand(wDeviceId, MCI_PLAY, MCI_NOTIFY | MCI_FROM /*| MCI_TO*/, (DWORD_PTR)&mciPlay);
+ if (mciError != 0)
{
MessageBox(hwnd, _T("Can't play!"), NULL, MB_OK);
}
if (!GetCurrentDirectory(sizeof(szCurrentDir) / sizeof(TCHAR), szCurrentDir))
{
- lstrcpy(szCurrentDir, _T("c:\\"));
+ _tcscpy(szCurrentDir, _T("c:\\"));
}
OpenFileName.lStructSize = sizeof(OpenFileName);
{
if (hTrackBar == (HWND) lParam)
{
- DWORD dwNewPos = (DWORD) SendMessage(hTrackBar, TBM_GETPOS, 0, 0);
- SeekPlayback(hwnd, dwNewPos);
+ if (bIsOpened)
+ {
+ DWORD dwNewPos = (DWORD) SendMessage(hTrackBar, TBM_GETPOS, 0, 0);
+ SeekPlayback(hwnd, dwNewPos);
+ }
+ else
+ {
+ SendMessage(hTrackBar, TBM_SETPOS, TRUE, 0);
+ }
}
}
break;
case IDM_CLOSE_FILE:
StopPlayback(hwnd);
- lstrcpy(szPrevFile, _T("\0"));
+ _tcscpy(szPrevFile, _T("\0"));
break;
case IDM_ABOUT:
- ShellAbout(hwnd, szAppTitle, 0, 0);
+ {
+ HICON mplayIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MAIN));
+ ShellAbout(hwnd, szAppTitle, 0, mplayIcon);
+ DeleteObject(mplayIcon);
break;
-
+ }
case IDM_EXIT:
PostMessage(hwnd, WM_CLOSE, 0, 0);
return 0;