ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
July 2008
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
25 participants
761 discussions
Start a n
N
ew thread
[akorotaev] 34339: Update russian translation. Patch by Alexander Akulich <akulichalexander@gmail.ru>
by akorotaev@svn.reactos.org
Author: akorotaev Date: Sun Jul 6 13:29:17 2008 New Revision: 34339 URL:
http://svn.reactos.org/svn/reactos?rev=34339&view=rev
Log: Update russian translation. Patch by Alexander Akulich <akulichalexander(a)gmail.ru> Modified: trunk/reactos/dll/cpl/usrmgr/lang/ru-RU.rc Modified: trunk/reactos/dll/cpl/usrmgr/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/usrmgr/lang/ru-RU.…
============================================================================== --- trunk/reactos/dll/cpl/usrmgr/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/usrmgr/lang/ru-RU.rc [iso-8859-1] Sun Jul 6 13:29:17 2008 @@ -1,6 +1,10 @@ -// Russian language resource file (Dmitry Chapyshev, 2007-06-12) LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT +/* + * Attention Translators: + * DO NOT TRANSLATE THESE RESOURCES YET! + */ + /* Dialogs */ IDD_USERS DIALOGEX DISCARDABLE 0, 0, 252, 223 @@ -8,7 +12,7 @@ CAPTION "Ïîëüçîâàòåëè" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "", IDC_USERS_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, + CONTROL "", IDC_USERS_LIST, "SysListView32", LVS_REPORT | LVS_EDITLABELS | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 7, 238, 85, WS_EX_CLIENTEDGE END @@ -18,7 +22,7 @@ CAPTION "Ãðóïïû" FONT 8, "MS Shell Dlg" BEGIN - CONTROL "", IDC_GROUPS_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, + CONTROL "", IDC_GROUPS_LIST, "SysListView32", LVS_REPORT | LVS_EDITLABELS | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 7, 238, 85, WS_EX_CLIENTEDGE END @@ -32,17 +36,137 @@ END +IDD_USER_GENERAL DIALOGEX DISCARDABLE 0, 0, 252, 223 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Îáùèå" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "", IDC_USER_GENERAL_NAME, 7, 12, 112, 8 + LTEXT "Ïîëíîå èìÿ:", -1, 7, 46, 63, 8 + EDITTEXT IDC_USER_GENERAL_FULL_NAME,77,43,168,13,ES_AUTOHSCROLL + LTEXT "Îïèñàíèå:", -1, 7, 64, 63, 8 + EDITTEXT IDC_USER_GENERAL_DESCRIPTION,77,61,168,13,ES_AUTOHSCROLL + AUTOCHECKBOX "Ïîòðåáîâàòü ñìåíó ïàðîëÿ ïðè ñëåäóþùåì âõîäå â ñèñòåìó",IDC_USER_GENERAL_FORCE_CHANGE,7,82,230,10 + AUTOCHECKBOX "Çàïðåòèòü ñìåíó ïàðîëÿ ïîëüçîâàòåëåì",IDC_USER_GENERAL_CANNOT_CHANGE,7,95,210,10 + AUTOCHECKBOX "Ñðîê äåéñòâèÿ ïàðîëÿ íå îãðàíè÷åí",IDC_USER_GENERAL_NEVER_EXPIRES,7,108,210,10 + AUTOCHECKBOX "Îòêëþ÷èòü ó÷¸òíóþ çàïèñü",IDC_USER_GENERAL_DISABLED,7,121,210,10 + AUTOCHECKBOX "Çàáëîêèðîâàòü ó÷¸òíóþ çàïèñü",IDC_USER_GENERAL_LOCKED,7,134,210,10 +END + + +IDD_USER_MEMBERSHIP DIALOGEX DISCARDABLE 0, 0, 252, 223 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "×ëåíñòâî â ãðóïïàõ" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "×ëåí ãðóïï:", -1, 7, 7, 56, 8 + CONTROL "", IDC_USER_MEMBERSHIP_LIST, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, + 7, 18, 238, 173, WS_EX_CLIENTEDGE + PUSHBUTTON "Äîáàâèòü...", IDC_USER_MEMBERSHIP_ADD, 7, 197, 50, 14, WS_DISABLED + PUSHBUTTON "Óäàëèòü", IDC_USER_MEMBERSHIP_REMOVE, 61, 197, 50, 14, WS_DISABLED +END + + +IDD_USER_PROFILE DIALOGEX DISCARDABLE 0, 0, 252, 223 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Ïðîôèëü" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Ïðîôèëü ïîëüçîâàòåëÿ", -1, 7, 7, 238, 54 + LTEXT "Ïóòü ê ïðîôèëþ:", -1, 16, 22, 80, 8 + EDITTEXT IDC_USER_PROFILE_PATH, 88, 19, 150, 13, ES_AUTOHSCROLL + LTEXT "Ñöåíàðèé âõîäà:", -1, 16, 40, 80, 8 + EDITTEXT IDC_USER_PROFILE_SCRIPT, 88, 37, 150, 13, ES_AUTOHSCROLL + + GROUPBOX "Äîìàøíÿÿ ïàïêà", -1, 7, 68, 238, 54 + AUTORADIOBUTTON "Ëîêàëüíûé ïóòü:", IDC_USER_PROFILE_LOCAL, 16, 83, 80, 10 + AUTORADIOBUTTON "Ïîäêëþ÷èòü:", IDC_USER_PROFILE_REMOTE, 16, 100, 60, 10 + EDITTEXT IDC_USER_PROFILE_LOCAL_PATH, 88, 81, 150, 13, ES_AUTOHSCROLL + COMBOBOX IDC_USER_PROFILE_DRIVE, 78, 99, 26, 153, CBS_DROPDOWNLIST | CBS_SORT | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL + LTEXT "íà:", -1, 112, 101, 12, 8 + EDITTEXT IDC_USER_PROFILE_REMOTE_PATH, 130, 99, 108, 13, ES_AUTOHSCROLL +END + + +IDD_GROUP_GENERAL DIALOGEX DISCARDABLE 0, 0, 252, 223 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Îáùèå" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "", IDC_GROUP_GENERAL_NAME, 7, 12, 112, 8 + LTEXT "Îïèñàíèå:", -1, 7, 45, 46, 8 + EDITTEXT IDC_GROUP_GENERAL_DESCRIPTION,65,42,180,13,ES_AUTOHSCROLL + LTEXT "×ëåíû ãðóïïû:", -1, 7, 63, 45, 8 + CONTROL "", IDC_GROUP_GENERAL_MEMBERS, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, + 7, 74, 238, 117, WS_EX_CLIENTEDGE + PUSHBUTTON "Äîáàâèòü...", IDC_GROUP_GENERAL_ADD, 7, 197, 50, 14, WS_DISABLED + PUSHBUTTON "Óäàëèòü", IDC_GROUP_GENERAL_REMOVE, 61, 197, 50, 14, WS_DISABLED +END + + +IDD_CHANGE_PASSWORD DIALOGEX DISCARDABLE 0, 0, 267, 74 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT +CAPTION "Óñòàíîâêà ïàðîëÿ" +FONT 8, "MS Shell Dlg" +BEGIN + EDITTEXT IDC_EDIT_PASSWORD1,107,7,153,14,ES_AUTOHSCROLL | ES_PASSWORD + RTEXT "Íîâûé ïàðîëü:", -1,7,10,96,8 + EDITTEXT IDC_EDIT_PASSWORD2,107,25,153,14,ES_AUTOHSCROLL | ES_PASSWORD + RTEXT "Ïîäòâåðæäåíèå:", -1,7,28,96,8 + DEFPUSHBUTTON "ÎÊ",IDOK,156,53,50,14 + PUSHBUTTON "Îòìåíà",IDCANCEL,210,53,50,14 +END + + +IDD_USER_NEW DIALOGEX DISCARDABLE 0, 0, 267, 200 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT +CAPTION "Íîâûé ïîëüçîâàòåëü" +FONT 8, "MS Shell Dlg" +BEGIN + EDITTEXT IDC_USER_NEW_NAME,107,7,153,14,ES_AUTOHSCROLL + RTEXT "Èìÿ ïîëüçîâàòåëÿ:", -1,7,10,96,8 + EDITTEXT IDC_USER_NEW_FULL_NAME,107,25,153,14,ES_AUTOHSCROLL + RTEXT "Ïîëíîå èìÿ ïîëüçîâàòåëÿ:", -1,7,28,96,8 + EDITTEXT IDC_USER_NEW_DESCRIPTION,107,43,153,14,ES_AUTOHSCROLL + RTEXT "Îïèñàíèå:", -1,7,46,96,8 + EDITTEXT IDC_USER_NEW_PASSWORD1,107,67,153,14,ES_AUTOHSCROLL | ES_PASSWORD + RTEXT "Ïàðîëü:", -1,7,70,96,8 + EDITTEXT IDC_USER_NEW_PASSWORD2,107,85,153,14,ES_AUTOHSCROLL | ES_PASSWORD + RTEXT "Ïîäòâåðäèòå:", -1,7,88,96,8 + AUTOCHECKBOX "Ïîòðåáîâàòü ñìåíó ïàðîëÿ ïðè ñëåäóþùåì âõîäå â ñèñòåìó",IDC_USER_NEW_FORCE_CHANGE,7,109,200,10 + AUTOCHECKBOX "Çàïðåòèòü ñìåíó ïàðîëÿ ïîëüçîâàòåëåì",IDC_USER_NEW_CANNOT_CHANGE,7,123,200,10,WS_DISABLED + AUTOCHECKBOX "Ñðîê äåéñòâèÿ ïàðîëÿ íå îãðàíè÷åí",IDC_USER_NEW_NEVER_EXPIRES,7,137,200,10,WS_DISABLED + AUTOCHECKBOX "Îòêëþ÷èòü ó÷¸òíóþ çàïèñü",IDC_USER_NEW_DISABLED,7,151,200,10 + DEFPUSHBUTTON "OK",IDOK,156,179,50,14,WS_DISABLED + PUSHBUTTON "Îòìåíà",IDCANCEL,210,179,50,14 +END + + +IDD_GROUP_NEW DIALOGEX DISCARDABLE 0, 0, 267, 74 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT +CAPTION "Íîâàÿ ãðóïïà" +FONT 8, "MS Shell Dlg" +BEGIN + EDITTEXT IDC_GROUP_NEW_NAME,107,7,153,14,ES_AUTOHSCROLL + RTEXT "Èìÿ ãðóïïû:", -1,7,10,96,8 + EDITTEXT IDC_GROUP_NEW_DESCRIPTION,107,25,153,14,ES_AUTOHSCROLL + RTEXT "Îïèñàíèå:", -1,7,28,96,8 + DEFPUSHBUTTON "OK",IDOK,156,53,50,14,WS_DISABLED + PUSHBUTTON "Îòìåíà",IDCANCEL,210,53,50,14 +END + + /* Menus */ IDM_POPUP_GROUP MENU DISCARDABLE BEGIN POPUP "" BEGIN - MENUITEM "Íîâàÿ ãðóïïà...", IDM_GROUP_NEW - END - POPUP "" - BEGIN - MENUITEM "Äîáàâèòü ãðóïïó", IDM_GROUP_ADD_MEMBER + MENUITEM "Ñîçäàòü ãðóïïó...", IDM_GROUP_NEW + END + POPUP "" + BEGIN + MENUITEM "Äîáàâèòü â ãðóïïó...", IDM_GROUP_ADD_MEMBER, GRAYED MENUITEM SEPARATOR MENUITEM "Óäàëèòü", IDM_GROUP_DELETE MENUITEM "Ïåðåèìåíîâàòü", IDM_GROUP_RENAME @@ -60,12 +184,12 @@ END POPUP "" BEGIN - MENUITEM "Èçìåíèòü ïàðîëü", IDM_USER_CHANGE_PASSWORD - MENUITEM SEPARATOR - MENUITEM "Óäàëèòü", IDM_USER_DELETE - MENUITEM "Ïåðåèìåíîâàòü", IDM_USER_RENAME - MENUITEM SEPARATOR - MENUITEM "Ñâîéñòâà", IDM_USER_PROPERTIES + MENUITEM "Çàäàòü ïàðîëü...", IDM_USER_CHANGE_PASSWORD + MENUITEM SEPARATOR + MENUITEM "Óäàëèòü", IDM_USER_DELETE + MENUITEM "Ïåðåèìåíîâàòü", IDM_USER_RENAME + MENUITEM SEPARATOR + MENUITEM "Ñâîéñòâà", IDM_USER_PROPERTIES END END @@ -74,8 +198,8 @@ STRINGTABLE BEGIN - IDS_CPLNAME "Ó÷åòíûé çàïèñè ïîëüçîâàòåëåé" - IDS_CPLDESCRIPTION "Ìåíåäæåð ïîëüçîâàòåëåé è ãðóïï." + IDS_CPLNAME "Ó÷¸òíûå çàïèñè ïîëüçîâàòåëåé" + IDS_CPLDESCRIPTION "Óïðàâëåíèå ïîëüçîâàòåëÿìè è ãðóïïàìè." END STRINGTABLE
16 years, 5 months
1
0
0
0
[silverblade] 34338: Partial implementation of WODM_CLOSE and WODM_WRITE handling within MME-Buddy. Test code added to sndblst.dll to mimics WinMM's behaviour. Seems OK so far. WODM_WRITE just throws a single buffer at the Sound Blaster driver, needs a lot more work. Don't yet support the WinMM open/close/data/done callbacks.
by silverblade@svn.reactos.org
Author: silverblade Date: Sun Jul 6 11:37:41 2008 New Revision: 34338 URL:
http://svn.reactos.org/svn/reactos?rev=34338&view=rev
Log: Partial implementation of WODM_CLOSE and WODM_WRITE handling within MME-Buddy. Test code added to sndblst.dll to mimics WinMM's behaviour. Seems OK so far. WODM_WRITE just throws a single buffer at the Sound Blaster driver, needs a lot more work. Don't yet support the WinMM open/close/data/done callbacks. Modified: branches/silverblade-audio/dll/win32/sndblst/sndblst.c branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/instances.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/mme/wodMessage.c Modified: branches/silverblade-audio/dll/win32/sndblst/sndblst.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/dll/win32/snd…
============================================================================== --- branches/silverblade-audio/dll/win32/sndblst/sndblst.c [iso-8859-1] (original) +++ branches/silverblade-audio/dll/win32/sndblst/sndblst.c [iso-8859-1] Sun Jul 6 11:37:41 2008 @@ -19,13 +19,63 @@ #include <debug.h> +PWSTR SBWaveOutDeviceName = L"Sound Blaster Playback"; +PWSTR SBWaveInDeviceName = L"Sound Blaster Recording"; +/* TODO: Mixer etc */ + + +MMRESULT +GetSoundBlasterDeviceCapabilities( + IN PSOUND_DEVICE Device, + OUT PUNIVERSAL_CAPS Capabilities) +{ + MMRESULT Result; + + if ( ! Device ) + return MMSYSERR_INVALPARAM; + + if ( ! Capabilities ) + return MMSYSERR_INVALPARAM; + + Result = DefaultGetSoundDeviceCapabilities(Device, Capabilities); + if ( Result != MMSYSERR_NOERROR ) + return Result; + + switch ( Device->DeviceType ) + { + case WAVE_OUT_DEVICE_TYPE : + CopyWideString(Capabilities->WaveOut.szPname, + SBWaveOutDeviceName); + break; + + case WAVE_IN_DEVICE_TYPE : + CopyWideString(Capabilities->WaveOut.szPname, + SBWaveInDeviceName); + break; + + /* ... TODO ... */ + + //default : + /* Do nothing special */ + } + + return MMSYSERR_NOERROR; +} + + BOOLEAN FoundDevice( UCHAR DeviceType, PWSTR DevicePath, HANDLE Handle) { + MMFUNCTION_TABLE FuncTable; + + ZeroMemory(&FuncTable, sizeof(MMFUNCTION_TABLE)); + + FuncTable.GetCapabilities = GetSoundBlasterDeviceCapabilities; + /* Nothing particularly special required... */ - return ( AddSoundDevice(DeviceType, DevicePath) == MMSYSERR_NOERROR ); + return ( AddSoundDevice(DeviceType, DevicePath, &FuncTable) == MMSYSERR_NOERROR ); } @@ -66,16 +116,69 @@ } } + +WORD Buffer[65536]; +WAVEHDR WaveHeader; + int APIENTRY wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) { + WCHAR msg[1024]; + WAVEOUTCAPS Caps; + WAVEOPENDESC OpenDesc; + WAVEFORMATEX Format; + MMRESULT Result; + PVOID InstanceData; + + /* DRV_LOAD */ DriverProc(0, 0, DRV_LOAD, 0, 0); + /* WODM_GETNUMDEVS */ SOUND_DEBUG_HEX(wodMessage(0, WODM_GETNUMDEVS, 0, 0, 0)); + Result = wodMessage(0, WODM_GETDEVCAPS, 0, + (DWORD) &Caps, sizeof(WAVEOUTCAPS)); + + /* WODM_GETDEVCAPS */ + wsprintf(msg, L"Device name: %ls\nManufacturer ID: %d\nProduct ID: %d\nDriver version: %x\nChannels: %d", Caps.szPname, Caps.wMid, Caps.wPid, Caps.vDriverVersion, Caps.wChannels); + + MessageBox(0, msg, L"Device capabilities", MB_OK | MB_TASKMODAL); + + /* WODM_OPEN */ + Format.wFormatTag = WAVE_FORMAT_PCM; + Format.nChannels = 1; + Format.nSamplesPerSec = 22050; + Format.wBitsPerSample = 16; + Format.nBlockAlign = Format.nChannels * (Format.wBitsPerSample / 8); + Format.nAvgBytesPerSec = Format.nSamplesPerSec * Format.nBlockAlign; + Format.cbSize = 0; + + SOUND_DEBUG(L"WODM_OPEN test 1 (query format support only)"); + OpenDesc.lpFormat = &Format; + Result = wodMessage(0, WODM_OPEN, 0, (DWORD) &OpenDesc, WAVE_FORMAT_QUERY); + SOUND_DEBUG_HEX(Result); + + SOUND_DEBUG(L"WODM_OPEN test 2"); + OpenDesc.lpFormat = &Format; + Result = wodMessage(0, WODM_OPEN, (DWORD) &InstanceData, (DWORD) &OpenDesc, 0); + SOUND_DEBUG_HEX(Result); + + SOUND_DEBUG(L"WODM_WRITE test"); + WaveHeader.lpData = (PVOID) Buffer; + WaveHeader.dwBufferLength = 65536; + WaveHeader.dwFlags = WHDR_PREPARED; + + Result = wodMessage(0, WODM_WRITE, (DWORD) InstanceData, (DWORD) &WaveHeader, 0); + SOUND_DEBUG_HEX(Result); + + SOUND_DEBUG(L"WODM_CLOSE test"); + Result = wodMessage(0, WODM_CLOSE, (DWORD) InstanceData, (DWORD) 0, 0); + SOUND_DEBUG_HEX(Result); + + /* DRV_UNLOAD */ DriverProc(0, 0, DRV_FREE, 0, 0); return 0; Modified: branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/include/react…
============================================================================== --- branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h [iso-8859-1] (original) +++ branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h [iso-8859-1] Sun Jul 6 11:37:41 2008 @@ -253,7 +253,8 @@ BOOLEAN AddSoundDevice( IN UCHAR DeviceType, - IN PWSTR DevicePath); + IN PWSTR DevicePath, + IN PMMFUNCTION_TABLE FunctionTable); MMRESULT RemoveSoundDevice( Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c [iso-8859-1] Sun Jul 6 11:37:41 2008 @@ -47,21 +47,34 @@ VOID InitSoundDeviceFunctionTable( - IN PSOUND_DEVICE Device) -{ + IN PSOUND_DEVICE Device, + IN PMMFUNCTION_TABLE SourceFunctionTable) +{ + /* Defaults... TODO - Make all these over-rideable! */ Device->Functions.Constructor = DefaultInstanceConstructor; Device->Functions.Destructor = DefaultInstanceDestructor; Device->Functions.GetCapabilities = DefaultGetSoundDeviceCapabilities; Device->Functions.QueryWaveFormat = DefaultQueryWaveDeviceFormatSupport; Device->Functions.SetWaveFormat = DefaultSetWaveDeviceFormat; + + if ( ! SourceFunctionTable ) + return; + + /* If we get here, the function table is being over-ridden */ + if ( SourceFunctionTable->GetCapabilities ) + { + Device->Functions.GetCapabilities = + SourceFunctionTable->GetCapabilities; + } } BOOLEAN AddSoundDevice( IN UCHAR DeviceType, - IN LPWSTR DevicePath) + IN LPWSTR DevicePath, + IN PMMFUNCTION_TABLE FunctionTable) { PSOUND_DEVICE NewDevice; UCHAR TypeIndex; @@ -108,7 +121,7 @@ /*CopyMemory(NewDevice->DevicePath, DevicePath, DevicePathSize);*/ /* Set up function table */ - InitSoundDeviceFunctionTable(NewDevice); + InitSoundDeviceFunctionTable(NewDevice, FunctionTable); /* Start or add to list */ if ( ! SoundDeviceLists[TypeIndex] ) @@ -261,7 +274,7 @@ return MMSYSERR_INVALPARAM; if ( DeviceIndex >= SoundDeviceTotals[DeviceType - MIN_SOUND_DEVICE_TYPE] ) - return MMSYSERR_INVALPARAM; + return MMSYSERR_BADDEVICEID; if ( ! Device ) return MMSYSERR_INVALPARAM; Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/instances.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/instances.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/instances.c [iso-8859-1] Sun Jul 6 11:37:41 2008 @@ -206,20 +206,15 @@ IN PSOUND_DEVICE SoundDevice) { PSOUND_DEVICE_INSTANCE CurrentInstance = NULL; - PSOUND_DEVICE_INSTANCE NextInstance = NULL; MMRESULT Result; if ( ! SoundDevice ) return MMSYSERR_INVALPARAM; - CurrentInstance = SoundDevice->FirstInstance; - - while ( CurrentInstance ) - { - NextInstance = CurrentInstance->Next; - + /* Just munch away at the first item repeatedly */ + while ( (CurrentInstance = SoundDevice->FirstInstance) ) + { Result = DestroySoundDeviceInstance(CurrentInstance); - ASSERT(Result == MMSYSERR_NOERROR); } return MMSYSERR_NOERROR; Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/mme/wodMessage.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/mme/wodMessage.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/mme/wodMessage.c [iso-8859-1] Sun Jul 6 11:37:41 2008 @@ -30,8 +30,10 @@ { MMRESULT Result = MMSYSERR_NOERROR; PSOUND_DEVICE Device = NULL; - PSOUND_DEVICE_INSTANCE Instance = NULL; - DPRINT("wodMessageStub called\n"); + PSOUND_DEVICE_INSTANCE Instance = + (PSOUND_DEVICE_INSTANCE)private_handle; + + SOUND_DEBUG(L"wodMessageStub called\n"); switch ( message ) { @@ -62,6 +64,7 @@ { WAVEOPENDESC* OpenParameters = (WAVEOPENDESC*) parameter1; + SOUND_DEBUG(L"In WODM_OPEN"); Result = GetSoundDevice(WAVE_OUT_DEVICE_TYPE, device_id, &Device); if ( Result != MMSYSERR_NOERROR ) return Result; @@ -74,6 +77,8 @@ return Result; } + + ASSERT(private_handle != 0); Result = CreateSoundDeviceInstance(Device, &Instance); if ( Result != MMSYSERR_NOERROR ) @@ -89,16 +94,48 @@ return Result; } - /* TODO: Provide winmm with instance handle */ + /* Start the wave handling thread */ + Result = StartWaveThread(Instance); + if ( Result != MMSYSERR_NOERROR ) + { + /* TODO: Do we need to do anything more */ + DestroySoundDeviceInstance(Instance); + return Result; + } + + /* Provide winmm with instance handle */ + *((PSOUND_DEVICE_INSTANCE*)private_handle) = Instance; + /* TODO: Send callback... */ return MMSYSERR_NOERROR; } case WODM_CLOSE : + { + //SOUND_DEBUG_HEX(Instance); + SOUND_ASSERT(Instance != NULL); + + /* TODO: Ensure its OK to close */ + + Result = StopWaveThread(Instance); + SOUND_ASSERT(Result == MMSYSERR_NOERROR); + + Result = DestroySoundDeviceInstance(Instance); + SOUND_DEBUG_HEX(Result); + + return Result; /* CloseSoundDevice() */ + } case WODM_WRITE : + { + SOUND_ASSERT(Instance != NULL); + SOUND_ASSERT(parameter1 != 0); + + return QueueWaveDeviceBuffer(Instance, (PWAVEHDR) parameter1); + } + case WODM_PAUSE : case WODM_RESTART : case WODM_RESET :
16 years, 5 months
1
0
0
0
[fireball] 34337: Autosyncing with Wine HEAD
by fireball@svn.reactos.org
Author: fireball Date: Sun Jul 6 11:35:30 2008 New Revision: 34337 URL:
http://svn.reactos.org/svn/reactos?rev=34337&view=rev
Log: Autosyncing with Wine HEAD Added: trunk/reactos/dll/win32/cryptui/cryptui.spec (with props) trunk/reactos/dll/win32/cryptui/main.c (with props) Removed: trunk/reactos/dll/win32/cryptui/cryptui.c trunk/reactos/dll/win32/cryptui/cryptui.def Modified: trunk/reactos/dll/win32/comdlg32/cdlg.h trunk/reactos/dll/win32/comdlg32/cdlg32.c trunk/reactos/dll/win32/comdlg32/cdlg_Bg.rc trunk/reactos/dll/win32/comdlg32/cdlg_Ca.rc trunk/reactos/dll/win32/comdlg32/cdlg_Cn.rc trunk/reactos/dll/win32/comdlg32/cdlg_Cs.rc trunk/reactos/dll/win32/comdlg32/cdlg_Da.rc trunk/reactos/dll/win32/comdlg32/cdlg_De.rc trunk/reactos/dll/win32/comdlg32/cdlg_El.rc trunk/reactos/dll/win32/comdlg32/cdlg_En.rc trunk/reactos/dll/win32/comdlg32/cdlg_Eo.rc trunk/reactos/dll/win32/comdlg32/cdlg_Es.rc trunk/reactos/dll/win32/comdlg32/cdlg_Fi.rc trunk/reactos/dll/win32/comdlg32/cdlg_Fr.rc trunk/reactos/dll/win32/comdlg32/cdlg_Hu.rc trunk/reactos/dll/win32/comdlg32/cdlg_It.rc trunk/reactos/dll/win32/comdlg32/cdlg_Ja.rc trunk/reactos/dll/win32/comdlg32/cdlg_Ko.rc trunk/reactos/dll/win32/comdlg32/cdlg_Nl.rc trunk/reactos/dll/win32/comdlg32/cdlg_No.rc trunk/reactos/dll/win32/comdlg32/cdlg_Pl.rc trunk/reactos/dll/win32/comdlg32/cdlg_Pt.rc trunk/reactos/dll/win32/comdlg32/cdlg_Ro.rc trunk/reactos/dll/win32/comdlg32/cdlg_Ru.rc trunk/reactos/dll/win32/comdlg32/cdlg_Si.rc trunk/reactos/dll/win32/comdlg32/cdlg_Sk.rc trunk/reactos/dll/win32/comdlg32/cdlg_Sv.rc trunk/reactos/dll/win32/comdlg32/cdlg_Th.rc trunk/reactos/dll/win32/comdlg32/cdlg_Tr.rc trunk/reactos/dll/win32/comdlg32/cdlg_Uk.rc trunk/reactos/dll/win32/comdlg32/cdlg_Wa.rc trunk/reactos/dll/win32/comdlg32/cdlg_Zh.rc trunk/reactos/dll/win32/comdlg32/cdlg_xx.rc trunk/reactos/dll/win32/comdlg32/comdlg32.rbuild trunk/reactos/dll/win32/comdlg32/filedlg.c trunk/reactos/dll/win32/comdlg32/filedlg31.c trunk/reactos/dll/win32/comdlg32/printdlg.c trunk/reactos/dll/win32/compstui/compstui.rbuild trunk/reactos/dll/win32/cryptnet/cryptnet_main.c trunk/reactos/dll/win32/cryptui/cryptui.rbuild (contents, props changed) trunk/reactos/dll/win32/gdiplus/brush.c trunk/reactos/dll/win32/gdiplus/font.c trunk/reactos/dll/win32/gdiplus/gdiplus.rbuild trunk/reactos/dll/win32/gdiplus/gdiplus.spec trunk/reactos/dll/win32/gdiplus/graphics.c trunk/reactos/dll/win32/gdiplus/graphicspath.c trunk/reactos/dll/win32/gdiplus/image.c trunk/reactos/dll/win32/gdiplus/pathiterator.c trunk/reactos/dll/win32/gdiplus/region.c trunk/reactos/media/doc/README.WINE [This mail would be too long, it was shortened to contain the URLs only.] Modified: trunk/reactos/dll/win32/comdlg32/cdlg.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg.h?…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg32.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg32.…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Bg.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Bg…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Ca.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Ca…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Cn.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Cn…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Cs.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Cs…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Da.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Da…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_De.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_De…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_El.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_El…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_En.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_En…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Eo.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Eo…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Es.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Es…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Fi.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Fi…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Fr.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Fr…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Hu.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Hu…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_It.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_It…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Ja.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Ja…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Ko.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Ko…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Nl.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Nl…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_No.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_No…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Pl.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Pl…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Pt.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Pt…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Ro.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Ro…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Ru.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Ru…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Si.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Si…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Sk.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Sk…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Sv.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Sv…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Th.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Th…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Tr.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Tr…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Uk.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Uk…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Wa.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Wa…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_Zh.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_Zh…
Modified: trunk/reactos/dll/win32/comdlg32/cdlg_xx.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/cdlg_xx…
Modified: trunk/reactos/dll/win32/comdlg32/comdlg32.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/comdlg3…
Modified: trunk/reactos/dll/win32/comdlg32/filedlg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/filedlg…
Modified: trunk/reactos/dll/win32/comdlg32/filedlg31.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/filedlg…
Modified: trunk/reactos/dll/win32/comdlg32/printdlg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comdlg32/printdl…
Modified: trunk/reactos/dll/win32/compstui/compstui.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/compstui/compstu…
Modified: trunk/reactos/dll/win32/cryptnet/cryptnet_main.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cryptnet/cryptne…
Removed: trunk/reactos/dll/win32/cryptui/cryptui.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cryptui/cryptui.…
Removed: trunk/reactos/dll/win32/cryptui/cryptui.def URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cryptui/cryptui.…
Modified: trunk/reactos/dll/win32/cryptui/cryptui.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cryptui/cryptui.…
Added: trunk/reactos/dll/win32/cryptui/cryptui.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cryptui/cryptui.…
Added: trunk/reactos/dll/win32/cryptui/main.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cryptui/main.c?r…
Modified: trunk/reactos/dll/win32/gdiplus/brush.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/brush.c?…
Modified: trunk/reactos/dll/win32/gdiplus/font.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/font.c?r…
Modified: trunk/reactos/dll/win32/gdiplus/gdiplus.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/gdiplus.…
Modified: trunk/reactos/dll/win32/gdiplus/gdiplus.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/gdiplus.…
Modified: trunk/reactos/dll/win32/gdiplus/graphics.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/graphics…
Modified: trunk/reactos/dll/win32/gdiplus/graphicspath.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/graphics…
Modified: trunk/reactos/dll/win32/gdiplus/image.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/image.c?…
Modified: trunk/reactos/dll/win32/gdiplus/pathiterator.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/pathiter…
Modified: trunk/reactos/dll/win32/gdiplus/region.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/region.c…
Modified: trunk/reactos/media/doc/README.WINE URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
16 years, 5 months
1
0
0
0
[fireball] 34336: - Sync gdiplusflat.h with Wine HEAD.
by fireball@svn.reactos.org
Author: fireball Date: Sun Jul 6 11:32:16 2008 New Revision: 34336 URL:
http://svn.reactos.org/svn/reactos?rev=34336&view=rev
Log: - Sync gdiplusflat.h with Wine HEAD. Modified: trunk/reactos/include/psdk/gdiplusflat.h Modified: trunk/reactos/include/psdk/gdiplusflat.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/gdiplusflat.h…
============================================================================== --- trunk/reactos/include/psdk/gdiplusflat.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/gdiplusflat.h [iso-8859-1] Sun Jul 6 11:32:16 2008 @@ -78,6 +78,8 @@ GpStatus WINGDIPAPI GdipDrawArcI(GpGraphics*,GpPen*,INT,INT,INT,INT,REAL,REAL); GpStatus WINGDIPAPI GdipDrawBezier(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL,REAL,REAL); GpStatus WINGDIPAPI GdipDrawBezierI(GpGraphics*,GpPen*,INT,INT,INT,INT,INT,INT,INT,INT); +GpStatus WINGDIPAPI GdipDrawBeziers(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT); +GpStatus WINGDIPAPI GdipDrawBeziersI(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT); GpStatus WINGDIPAPI GdipDrawCurve(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT); GpStatus WINGDIPAPI GdipDrawCurveI(GpGraphics*,GpPen*,GDIPCONST GpPoint*,INT); GpStatus WINGDIPAPI GdipDrawCurve2(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT,REAL); @@ -282,6 +284,8 @@ GpStatus WINGDIPAPI GdipPathIterNextSubpath(GpPathIterator*,INT*,INT*,INT*,BOOL*); GpStatus WINGDIPAPI GdipPathIterRewind(GpPathIterator*); GpStatus WINGDIPAPI GdipPathIterGetCount(GpPathIterator*,INT*); +GpStatus WINGDIPAPI GdipPathIterEnumerate(GpPathIterator*,INT*,GpPointF*,BYTE*,INT); +GpStatus WINGDIPAPI GdipPathIterHasCurve(GpPathIterator*,BOOL*); GpStatus WINGDIPAPI GdipCloneCustomLineCap(GpCustomLineCap*,GpCustomLineCap**); GpStatus WINGDIPAPI GdipCreateCustomLineCap(GpPath*,GpPath*,GpLineCap,REAL, @@ -344,6 +348,7 @@ GDIPCONST CLSID*,GDIPCONST EncoderParameters*); GpStatus WINGDIPAPI GdipSetImagePalette(GpImage*,GDIPCONST ColorPalette*); +GpStatus WINGDIPAPI GdipCloneImage(GpImage*, GpImage**); GpStatus WINGDIPAPI GdipCloneImageAttributes(GDIPCONST GpImageAttributes*,GpImageAttributes**); GpStatus WINGDIPAPI GdipCreateImageAttributes(GpImageAttributes**); GpStatus WINGDIPAPI GdipDisposeImageAttributes(GpImageAttributes*); @@ -390,6 +395,8 @@ GpStatus WINGDIPAPI GdipGetDpiX(GpGraphics*,REAL*); GpStatus WINGDIPAPI GdipGetDpiY(GpGraphics*,REAL*); +GpStatus WINGDIPAPI GdipCloneRegion(GpRegion *, GpRegion **); +GpStatus WINGDIPAPI GdipCombineRegionPath(GpRegion *, GpPath *, CombineMode); GpStatus WINGDIPAPI GdipCombineRegionRect(GpRegion *, GDIPCONST GpRectF *, CombineMode); GpStatus WINGDIPAPI GdipCombineRegionRectI(GpRegion *, GDIPCONST GpRect *, CombineMode); GpStatus WINGDIPAPI GdipCombineRegionRegion(GpRegion *, GpRegion *, CombineMode); @@ -397,12 +404,22 @@ GpStatus WINGDIPAPI GdipCreateRegionPath(GpPath *, GpRegion **); GpStatus WINGDIPAPI GdipCreateRegionRect(GDIPCONST GpRectF *, GpRegion **); GpStatus WINGDIPAPI GdipCreateRegionRectI(GDIPCONST GpRect *, GpRegion **); +GpStatus WINGDIPAPI GdipCreateRegionRgnData(GDIPCONST BYTE *, INT, GpRegion **); +GpStatus WINGDIPAPI GdipCreateRegionHrgn(HRGN, GpRegion **); GpStatus WINGDIPAPI GdipDeleteRegion(GpRegion *); +GpStatus WINGDIPAPI GdipGetRegionBounds(GpRegion *, GpGraphics *, GpRectF *); +GpStatus WINGDIPAPI GdipGetRegionBoundsI(GpRegion *, GpGraphics *, GpRect *); GpStatus WINGDIPAPI GdipGetRegionData(GpRegion *, BYTE *, UINT, UINT *); GpStatus WINGDIPAPI GdipGetRegionDataSize(GpRegion *, UINT *); GpStatus WINGDIPAPI GdipGetRegionHRgn(GpRegion *, GpGraphics *, HRGN *); +GpStatus WINGDIPAPI GdipIsEmptyRegion(GpRegion *, GpGraphics *, BOOL *); +GpStatus WINGDIPAPI GdipIsEqualRegion(GpRegion *, GpRegion *, GpGraphics *, BOOL *); +GpStatus WINGDIPAPI GdipIsInfiniteRegion(GpRegion *, GpGraphics *, BOOL *); GpStatus WINGDIPAPI GdipSetEmpty(GpRegion *); GpStatus WINGDIPAPI GdipSetInfinite(GpRegion *); +GpStatus WINGDIPAPI GdipTransformRegion(GpRegion *, GpMatrix *); +GpStatus WINGDIPAPI GdipTranslateRegion(GpRegion *, REAL, REAL); +GpStatus WINGDIPAPI GdipTranslateRegionI(GpRegion *, INT, INT); GpStatus WINGDIPAPI GdipFlush(GpGraphics*, GpFlushIntention);
16 years, 5 months
1
0
0
0
[pschweitzer] 34335: Removed none needed FIXME
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Sun Jul 6 11:01:28 2008 New Revision: 34335 URL:
http://svn.reactos.org/svn/reactos?rev=34335&view=rev
Log: Removed none needed FIXME Modified: branches/pierre-fsd/drivers/filesystems/fastfat/fcb.c Modified: branches/pierre-fsd/drivers/filesystems/fastfat/fcb.c URL:
http://svn.reactos.org/svn/reactos/branches/pierre-fsd/drivers/filesystems/…
============================================================================== --- branches/pierre-fsd/drivers/filesystems/fastfat/fcb.c [iso-8859-1] (original) +++ branches/pierre-fsd/drivers/filesystems/fastfat/fcb.c [iso-8859-1] Sun Jul 6 11:01:28 2008 @@ -332,7 +332,6 @@ fcb->FileObject = fileObject; fcb->RefCount++; - /* FIXME: Guard by SEH. */ CcInitializeCacheMap(fileObject, (PCC_FILE_SIZES)(&fcb->RFCB.AllocationSize), FALSE,
16 years, 5 months
1
0
0
0
[fireball] 34334: - Update test.h to the latest Wine HEAD.
by fireball@svn.reactos.org
Author: fireball Date: Sun Jul 6 10:31:38 2008 New Revision: 34334 URL:
http://svn.reactos.org/svn/reactos?rev=34334&view=rev
Log: - Update test.h to the latest Wine HEAD. Modified: trunk/reactos/include/reactos/wine/test.h Modified: trunk/reactos/include/reactos/wine/test.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/wine/test.…
============================================================================== --- trunk/reactos/include/reactos/wine/test.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/wine/test.h [iso-8859-1] Sun Jul 6 10:31:38 2008 @@ -70,27 +70,35 @@ #define START_TEST(name) void func_##name(void) #endif +extern int broken( int condition ); +extern int winetest_vok( int condition, const char *msg, va_list ap ); +extern void winetest_vskip( const char *msg, va_list ap ); + #ifdef __GNUC__ extern int winetest_ok( int condition, const char *msg, ... ) __attribute__((format (printf,2,3) )); extern void winetest_skip( const char *msg, ... ) __attribute__((format (printf,1,2))); +extern void winetest_win_skip( const char *msg, ... ) __attribute__((format (printf,1,2))); extern void winetest_trace( const char *msg, ... ) __attribute__((format (printf,1,2))); #else /* __GNUC__ */ extern int winetest_ok( int condition, const char *msg, ... ); extern void winetest_skip( const char *msg, ... ); +extern void winetest_win_skip( const char *msg, ... ); extern void winetest_trace( const char *msg, ... ); #endif /* __GNUC__ */ -#define ok_(file, line) (winetest_set_location(file, line), 0) ? 0 : winetest_ok -#define skip_(file, line) (winetest_set_location(file, line), 0) ? (void)0 : winetest_skip -#define trace_(file, line) (winetest_set_location(file, line), 0) ? (void)0 : winetest_trace - -#define ok ok_(__FILE__, __LINE__) -#define skip skip_(__FILE__, __LINE__) -#define trace trace_(__FILE__, __LINE__) +#define ok_(file, line) (winetest_set_location(file, line), 0) ? 0 : winetest_ok +#define skip_(file, line) (winetest_set_location(file, line), 0) ? (void)0 : winetest_skip +#define win_skip_(file, line) (winetest_set_location(file, line), 0) ? (void)0 : winetest_win_skip +#define trace_(file, line) (winetest_set_location(file, line), 0) ? (void)0 : winetest_trace + +#define ok ok_(__FILE__, __LINE__) +#define skip skip_(__FILE__, __LINE__) +#define win_skip win_skip_(__FILE__, __LINE__) +#define trace trace_(__FILE__, __LINE__) #define todo(platform) for (winetest_start_todo(platform); \ winetest_loop_todo(); \ @@ -226,6 +234,11 @@ data->current_line=line; } +int broken( int condition ) +{ + return (strcmp(winetest_platform, "windows") == 0) && condition; +} + /* * Checks condition. * Parameters: @@ -236,9 +249,8 @@ * Return: * 0 if condition does not have the expected value, 1 otherwise */ -int winetest_ok( int condition, const char *msg, ... ) -{ - va_list valist; +int winetest_vok( int condition, const char *msg, va_list args ) +{ tls_data* data=get_tls_data(); if (data->todo_level) @@ -249,10 +261,8 @@ data->current_file, data->current_line ); if (msg[0]) { - va_start(valist, msg); fprintf(stdout,": "); - vfprintf(stdout, msg, valist); - va_end(valist); + vfprintf(stdout, msg, args); } InterlockedIncrement(&todo_failures); return 0; @@ -267,10 +277,8 @@ data->current_file, data->current_line ); if (msg[0]) { - va_start(valist, msg); fprintf( stdout,": "); - vfprintf(stdout, msg, valist); - va_end(valist); + vfprintf(stdout, msg, args); } InterlockedIncrement(&failures); return 0; @@ -286,6 +294,17 @@ return 1; } +int winetest_ok( int condition, const char *msg, ... ) +{ + va_list valist; + int rc; + + va_start(valist, msg); + rc=winetest_vok(condition, msg, valist); + va_end(valist); + return rc; +} + void winetest_trace( const char *msg, ... ) { va_list valist; @@ -293,23 +312,39 @@ if (winetest_debug > 0) { - fprintf( stdout, "%s:%d:", data->current_file, data->current_line ); + fprintf( stdout, "%s:%d: ", data->current_file, data->current_line ); va_start(valist, msg); vfprintf(stdout, msg, valist); va_end(valist); } } +void winetest_vskip( const char *msg, va_list args ) +{ + tls_data* data=get_tls_data(); + + fprintf( stdout, "%s:%d: Tests skipped: ", data->current_file, data->current_line ); + vfprintf(stdout, msg, args); + skipped++; +} + void winetest_skip( const char *msg, ... ) { va_list valist; - tls_data* data=get_tls_data(); - - fprintf( stdout, "%s:%d: Tests skipped: ", data->current_file, data->current_line ); va_start(valist, msg); - vfprintf(stdout, msg, valist); + winetest_vskip(msg, valist); va_end(valist); - skipped++; +} + +void winetest_win_skip( const char *msg, ... ) +{ + va_list valist; + va_start(valist, msg); + if (strcmp(winetest_platform, "windows") == 0) + winetest_vskip(msg, valist); + else + winetest_vok(0, msg, valist); + va_end(valist); } void winetest_start_todo( const char* platform ) @@ -374,7 +409,7 @@ { const struct test *test; const char *p; - int len; + size_t len; if ((p = strrchr( name, '/' ))) name = p + 1; if ((p = strrchr( name, '\\' ))) name = p + 1;
16 years, 5 months
1
0
0
0
[silverblade] 34333: Added cleanup code to sndblst.dll (for DriverProc/DRV_FREE), and memory allocation/free wrappers in MME-Buddy's utility module, to aid in checking for memory leaks. As a result, found and fixed a memory leak in RemoveSoundDevice.
by silverblade@svn.reactos.org
Author: silverblade Date: Sun Jul 6 10:20:40 2008 New Revision: 34333 URL:
http://svn.reactos.org/svn/reactos?rev=34333&view=rev
Log: Added cleanup code to sndblst.dll (for DriverProc/DRV_FREE), and memory allocation/free wrappers in MME-Buddy's utility module, to aid in checking for memory leaks. As a result, found and fixed a memory leak in RemoveSoundDevice. Modified: branches/silverblade-audio/dll/win32/sndblst/sndblst.c branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/nt4.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/utility.c Modified: branches/silverblade-audio/dll/win32/sndblst/sndblst.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/dll/win32/snd…
============================================================================== --- branches/silverblade-audio/dll/win32/sndblst/sndblst.c [iso-8859-1] (original) +++ branches/silverblade-audio/dll/win32/sndblst/sndblst.c [iso-8859-1] Sun Jul 6 10:20:40 2008 @@ -43,13 +43,18 @@ SOUND_DEBUG(L"DRV_LOAD"); EnumerateNt4ServiceSoundDevices(L"sndblst", - WAVE_OUT_DEVICE_TYPE, + 0, FoundDevice); return 1L; case DRV_FREE : SOUND_DEBUG(L"DRV_FREE"); + + RemoveAllSoundDevices(); + + SOUND_DEBUG_HEX(GetMemoryAllocations()); + return 1L; default : @@ -71,5 +76,7 @@ SOUND_DEBUG_HEX(wodMessage(0, WODM_GETNUMDEVS, 0, 0, 0)); + DriverProc(0, 0, DRV_FREE, 0, 0); + return 0; } Modified: branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/include/react…
============================================================================== --- branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h [iso-8859-1] (original) +++ branches/silverblade-audio/include/reactos/libs/sound/mmebuddy.h [iso-8859-1] Sun Jul 6 10:20:40 2008 @@ -48,11 +48,13 @@ Some memory allocation helper macros */ +/* #define AllocateMemory(size) \ HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size) #define FreeMemory(ptr) \ HeapFree(GetProcessHeap(), 0, ptr) +*/ #define AllocateMemoryFor(thing) \ (thing*) AllocateMemory(sizeof(thing)) @@ -248,22 +250,21 @@ IN PSOUND_DEVICE SoundDevice, OUT LPWSTR* DevicePath); -VOID -RemoveAllSoundDevices(); - -BOOLEAN -RemoveSoundDevices( - IN UCHAR DeviceType); - BOOLEAN AddSoundDevice( IN UCHAR DeviceType, IN PWSTR DevicePath); -BOOLEAN +MMRESULT RemoveSoundDevice( - IN UCHAR DeviceType, - IN ULONG Index); + IN PSOUND_DEVICE SoundDevice); + +MMRESULT +RemoveSoundDevices( + IN UCHAR DeviceType); + +VOID +RemoveAllSoundDevices(); MMRESULT GetSoundDeviceType( @@ -364,6 +365,17 @@ utility.c */ +PVOID +AllocateMemory( + IN DWORD Size); + +VOID +FreeMemory( + IN PVOID Pointer); + +DWORD +GetMemoryAllocations(); + ULONG GetDigitCount( IN ULONG Number); Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c [iso-8859-1] Sun Jul 6 10:20:40 2008 @@ -16,7 +16,9 @@ /* - TODO: Free up devicepath on exit + TODO: + The removal of devices from the list needs to be separated from + the destruction of the device structure. */ #include <windows.h> @@ -139,110 +141,96 @@ } -BOOLEAN +MMRESULT RemoveSoundDevice( - IN UCHAR DeviceType, - IN ULONG Index) -{ - ULONG Counter = 0; + IN PSOUND_DEVICE SoundDevice) +{ ULONG TypeIndex; PSOUND_DEVICE CurrentDevice = NULL; PSOUND_DEVICE PreviousDevice = NULL; - DPRINT("Removing a sound device from list %d\n", DeviceType); - - if ( ! VALID_SOUND_DEVICE_TYPE(DeviceType) ) - { - return FALSE; - } - - TypeIndex = DeviceType - MIN_SOUND_DEVICE_TYPE; - - CurrentDevice = SoundDeviceLists[TypeIndex]; - PreviousDevice = NULL; - - while ( CurrentDevice ) - { - if ( Counter == Index ) + /*DPRINT("Removing a sound device from list %d\n", DeviceType);*/ + + if ( ! SoundDevice ) + return MMSYSERR_INVALPARAM; + + TypeIndex = SoundDevice->DeviceType - MIN_SOUND_DEVICE_TYPE; + + /* Clean up any instances */ + if ( SoundDevice->FirstInstance != NULL ) + { + DestroyAllInstancesOfSoundDevice(SoundDevice); + } + + /* Close handle (if open) */ + if ( SoundDevice->Handle != INVALID_HANDLE_VALUE ) + { + CloseHandle(SoundDevice->Handle); + SoundDevice->Handle = INVALID_HANDLE_VALUE; + } + + if ( SoundDeviceLists[TypeIndex] == SoundDevice ) + { + SoundDeviceLists[TypeIndex] = SoundDevice->Next; + } + else + { + /* Remove from list */ + CurrentDevice = SoundDeviceLists[TypeIndex]; + PreviousDevice = NULL; + + while ( CurrentDevice ) { - /* Clean up any instances */ - if ( CurrentDevice->FirstInstance != NULL ) + if ( CurrentDevice == SoundDevice ) { - DestroyAllInstancesOfSoundDevice(CurrentDevice); + SOUND_ASSERT(PreviousDevice != NULL); + PreviousDevice->Next = CurrentDevice->Next; + + break; } - /* Close handle (if open) */ - if ( CurrentDevice->Handle != INVALID_HANDLE_VALUE ) - { - CloseHandle(CurrentDevice->Handle); - CurrentDevice->Handle = INVALID_HANDLE_VALUE; - } - - if ( ! PreviousDevice ) - { - /* Head of list */ - SoundDeviceLists[TypeIndex] = CurrentDevice->Next; - } - else - { - /* Not the head of list */ - PreviousDevice->Next = CurrentDevice->Next; - } - - /* Free the memory associated with the device info */ - FreeMemory(CurrentDevice->DevicePath); - FreeMemory(CurrentDevice); - /*HeapFree(GetProcessHeap(), 0, CurrentDevice);*/ - CurrentDevice = NULL; - - DPRINT("Removal succeeded\n"); - - return TRUE; + PreviousDevice = CurrentDevice; + CurrentDevice = CurrentDevice->Next; } - - PreviousDevice = CurrentDevice; - ++ Counter; - } - - DPRINT("Not found\n"); - /* Not found */ - return FALSE; -} - - -BOOLEAN + } + + /* Free the memory associated with the device info */ + FreeMemory(SoundDevice->DevicePath); + FreeMemory(SoundDevice); + + return MMSYSERR_NOERROR;; +} + + +MMRESULT RemoveSoundDevices( IN UCHAR DeviceType) { PSOUND_DEVICE CurrentDevice; - PSOUND_DEVICE NextDevice; DPRINT("Emptying device list for device type %d\n", DeviceType); if ( ! VALID_SOUND_DEVICE_TYPE(DeviceType) ) { DPRINT("Invalid device type - %d\n", DeviceType); - return FALSE; - } - - /* Clean out the device list */ - CurrentDevice = SoundDeviceLists[DeviceType - MIN_SOUND_DEVICE_TYPE]; - - while ( CurrentDevice ) - { - /* Save the next device pointer so we can reference it later */ - NextDevice = CurrentDevice->Next; - - FreeMemory(CurrentDevice); - /*HeapFree(GetProcessHeap(), 0, CurrentDevice);*/ - CurrentDevice = NextDevice; + return MMSYSERR_INVALPARAM; + } + + /* + Clean out the device list. This works by repeatedly removing the + first entry. + */ + while ( (CurrentDevice = + SoundDeviceLists[DeviceType - MIN_SOUND_DEVICE_TYPE]) ) + { + RemoveSoundDevice(CurrentDevice); } /* Reset the list content and item count */ SoundDeviceLists[DeviceType - MIN_SOUND_DEVICE_TYPE] = NULL; SoundDeviceTotals[DeviceType - MIN_SOUND_DEVICE_TYPE] = 0; - return TRUE; + return MMSYSERR_NOERROR; } @@ -253,7 +241,7 @@ DPRINT("Emptying all device lists\n"); - for ( i = 0; i < SOUND_DEVICE_TYPES; ++ i ) + for ( i = MIN_SOUND_DEVICE_TYPE; i <= MAX_SOUND_DEVICE_TYPE; ++ i ) { RemoveSoundDevices(i); } Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/nt4.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/nt4.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/nt4.c [iso-8859-1] Sun Jul 6 10:20:40 2008 @@ -167,7 +167,9 @@ if ( ! ServiceName ) return MMSYSERR_INVALPARAM; - if ( ! VALID_SOUND_DEVICE_TYPE(DeviceType) ) + /* Device type zero means "all" */ + if ( ( ! VALID_SOUND_DEVICE_TYPE(DeviceType) ) && + ( DeviceType != 0 ) ) return MMSYSERR_INVALPARAM; while ( OpenSoundDeviceRegKey(ServiceName, KeyIndex, &Key) == MMSYSERR_NOERROR ) Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/utility.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/utility.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/utility.c [iso-8859-1] Sun Jul 6 10:20:40 2008 @@ -14,6 +14,56 @@ #include <windows.h> #include <mmsystem.h> + +#include <mmebuddy.h> + +/* + Memory +*/ + +static HANDLE ProcessHeapHandle = INVALID_HANDLE_VALUE; +static DWORD CurrentAllocations = 0; + +PVOID +AllocateMemory( + IN DWORD Size) +{ + PVOID Pointer = NULL; + + if ( ProcessHeapHandle == INVALID_HANDLE_VALUE ) + ProcessHeapHandle = GetProcessHeap(); + + Pointer = HeapAlloc(ProcessHeapHandle, HEAP_ZERO_MEMORY, Size); + + if ( ! Pointer ) + return NULL; + + ++ CurrentAllocations; + + return Pointer; +} + +VOID +FreeMemory( + IN PVOID Pointer) +{ + SOUND_ASSERT(ProcessHeapHandle != INVALID_HANDLE_VALUE); + + HeapFree(ProcessHeapHandle, 0, Pointer); + + -- CurrentAllocations; +} + +DWORD +GetMemoryAllocations() +{ + return CurrentAllocations; +} + + +/* + Other +*/ ULONG GetDigitCount(
16 years, 5 months
1
0
0
0
[silverblade] 34332: Started work on the user-mode Sound Blaster component. Like mmdrv, this is currently created as an executable to make initial testing easier. Fixed bug in EnumerateNt4ServiceSoundDevices where *all* device types were being sent to the detection callback (made this an optional feature instead). Moved original test code from MME-Buddy into MMDrv (don't want it for sndblst)
by silverblade@svn.reactos.org
Author: silverblade Date: Sun Jul 6 09:30:40 2008 New Revision: 34332 URL:
http://svn.reactos.org/svn/reactos?rev=34332&view=rev
Log: Started work on the user-mode Sound Blaster component. Like mmdrv, this is currently created as an executable to make initial testing easier. Fixed bug in EnumerateNt4ServiceSoundDevices where *all* device types were being sent to the detection callback (made this an optional feature instead). Moved original test code from MME-Buddy into MMDrv (don't want it for sndblst) Added: branches/silverblade-audio/dll/win32/mmdrv/testing.c - copied, changed from r34328, branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c branches/silverblade-audio/dll/win32/sndblst/ branches/silverblade-audio/dll/win32/sndblst/sndblst.c (with props) branches/silverblade-audio/dll/win32/sndblst/sndblst.def (with props) branches/silverblade-audio/dll/win32/sndblst/sndblst.rbuild (with props) Removed: branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c Modified: branches/silverblade-audio/dll/win32/mmdrv/mmdrv.rbuild branches/silverblade-audio/dll/win32/win32.rbuild branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/instances.c branches/silverblade-audio/lib/drivers/sound/mmebuddy/mmebuddy.rbuild branches/silverblade-audio/lib/drivers/sound/mmebuddy/nt4.c Modified: branches/silverblade-audio/dll/win32/mmdrv/mmdrv.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/dll/win32/mmd…
============================================================================== --- branches/silverblade-audio/dll/win32/mmdrv/mmdrv.rbuild [iso-8859-1] (original) +++ branches/silverblade-audio/dll/win32/mmdrv/mmdrv.rbuild [iso-8859-1] Sun Jul 6 09:30:40 2008 @@ -11,4 +11,5 @@ <library>winmm</library> <library>advapi32</library> <file>entry.c</file> + <file>testing.c</file> </module> Copied: branches/silverblade-audio/dll/win32/mmdrv/testing.c (from r34328, branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c) URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/dll/win32/mmd…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c [iso-8859-1] (original) +++ branches/silverblade-audio/dll/win32/mmdrv/testing.c [iso-8859-1] Sun Jul 6 09:30:40 2008 @@ -10,6 +10,7 @@ History: 4 July 2008 - Created + 6 July 2008 - Moved from mmebuddy to mmdrv */ #include <windows.h> Added: branches/silverblade-audio/dll/win32/sndblst/sndblst.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/dll/win32/snd…
============================================================================== --- branches/silverblade-audio/dll/win32/sndblst/sndblst.c (added) +++ branches/silverblade-audio/dll/win32/sndblst/sndblst.c [iso-8859-1] Sun Jul 6 09:30:40 2008 @@ -1,0 +1,75 @@ +/* + ReactOS Sound System + Sound Blaster MME Driver + + Purpose: + MME driver entry-point + + Author: + Andrew Greenwood (silverblade(a)reactos.org) + + History: + 6 July 2008 - Created +*/ + +#include <windows.h> +#include <ntddsnd.h> +#include <mmddk.h> +#include <mmebuddy.h> +#include <debug.h> + + +BOOLEAN FoundDevice( + UCHAR DeviceType, + PWSTR DevicePath, + HANDLE Handle) +{ + /* Nothing particularly special required... */ + return ( AddSoundDevice(DeviceType, DevicePath) == MMSYSERR_NOERROR ); +} + + +APIENTRY LONG +DriverProc( + DWORD driver_id, + HANDLE driver_handle, + UINT message, + LONG parameter1, + LONG parameter2) +{ + switch ( message ) + { + case DRV_LOAD : + SOUND_DEBUG(L"DRV_LOAD"); + + EnumerateNt4ServiceSoundDevices(L"sndblst", + WAVE_OUT_DEVICE_TYPE, + FoundDevice); + + return 1L; + + case DRV_FREE : + SOUND_DEBUG(L"DRV_FREE"); + return 1L; + + default : + return DefaultDriverProc(driver_id, + driver_handle, + message, + parameter1, + parameter2); + } +} + +int APIENTRY wWinMain( + HINSTANCE hInstance, + HINSTANCE hPrevInstance, + LPWSTR lpCmdLine, + int nCmdShow) +{ + DriverProc(0, 0, DRV_LOAD, 0, 0); + + SOUND_DEBUG_HEX(wodMessage(0, WODM_GETNUMDEVS, 0, 0, 0)); + + return 0; +} Propchange: branches/silverblade-audio/dll/win32/sndblst/sndblst.c ------------------------------------------------------------------------------ svn:eol-style = native Added: branches/silverblade-audio/dll/win32/sndblst/sndblst.def URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/dll/win32/snd…
============================================================================== --- branches/silverblade-audio/dll/win32/sndblst/sndblst.def (added) +++ branches/silverblade-audio/dll/win32/sndblst/sndblst.def [iso-8859-1] Sun Jul 6 09:30:40 2008 @@ -1,0 +1,15 @@ +; $Id: sndblst.def 34299 2008-07-05 02:43:17Z silverblade $ +; +; sndblst.def +; +; ReactOS Operating System +; +LIBRARY sndblst.dll +EXPORTS +DriverProc@20 +;widMessage@20 +wodMessage@20 +;midMessage@20 +;modMessage@20 +;mxdMessage@20 +;auxMessage@20 Propchange: branches/silverblade-audio/dll/win32/sndblst/sndblst.def ------------------------------------------------------------------------------ svn:eol-style = native Added: branches/silverblade-audio/dll/win32/sndblst/sndblst.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/dll/win32/snd…
============================================================================== --- branches/silverblade-audio/dll/win32/sndblst/sndblst.rbuild (added) +++ branches/silverblade-audio/dll/win32/sndblst/sndblst.rbuild [iso-8859-1] Sun Jul 6 09:30:40 2008 @@ -1,0 +1,15 @@ +<!-- Temporarily compiling as a CUI app for testing purposes */ +<!--module name="mmdrv" type="win32dll" baseaddress="${BASEADDRESS_MMDRV}" installbase="system32" installname="mmdrv.dll" unicode="yes"--> +<module name="sndblst" type="win32cui" installbase="system32" installname="sndblst.exe" unicode="yes"> + <!--importlibrary definition="mmdrv.def" /--> + <include base="ReactOS">include/reactos/libs/sound</include> + <include base="sndblst">.</include> + <!--define name="NDEBUG" /--> + <library>mmebuddy</library> + <library>ntdll</library> + <library>kernel32</library> + <library>user32</library> + <library>winmm</library> + <library>advapi32</library> + <file>sndblst.c</file> +</module> Propchange: branches/silverblade-audio/dll/win32/sndblst/sndblst.rbuild ------------------------------------------------------------------------------ svn:eol-style = native Modified: branches/silverblade-audio/dll/win32/win32.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/dll/win32/win…
============================================================================== --- branches/silverblade-audio/dll/win32/win32.rbuild [iso-8859-1] (original) +++ branches/silverblade-audio/dll/win32/win32.rbuild [iso-8859-1] Sun Jul 6 09:30:40 2008 @@ -292,6 +292,9 @@ <directory name="smdll"> <xi:include href="smdll/smdll.rbuild" /> </directory> +<directory name="sndblst"> + <xi:include href="sndblst/sndblst.rbuild" /> +</directory> <directory name="snmpapi"> <xi:include href="snmpapi/snmpapi.rbuild" /> </directory> Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/devices.c [iso-8859-1] Sun Jul 6 09:30:40 2008 @@ -11,6 +11,7 @@ History: 4 July 2008 - Created 5 July 2008 - Implemented format support + 6 July 2008 - Added default instance constructor/destructor */ @@ -39,109 +40,6 @@ } return SoundDeviceTotals[DeviceType - MIN_SOUND_DEVICE_TYPE]; -} - - -MMRESULT -GetSoundDevice( - IN UCHAR DeviceType, - IN ULONG DeviceIndex, - OUT PSOUND_DEVICE* Device) -{ - ULONG Count = 0; - PSOUND_DEVICE CurrentDevice = NULL; - - if ( ! VALID_SOUND_DEVICE_TYPE(DeviceType) ) - return MMSYSERR_INVALPARAM; - - if ( DeviceIndex >= SoundDeviceTotals[DeviceType - MIN_SOUND_DEVICE_TYPE] ) - return MMSYSERR_INVALPARAM; - - if ( ! Device ) - return MMSYSERR_INVALPARAM; - - /* - We know by now that a device at the index should exist - so just loop around until we reach that index. - */ - - CurrentDevice = SoundDeviceLists[DeviceType - MIN_SOUND_DEVICE_TYPE]; - - for ( Count = 0; Count <= DeviceIndex; ++ Count ) - { - *Device = CurrentDevice; - CurrentDevice = CurrentDevice->Next; - } - - return MMSYSERR_NOERROR; -} - - -MMRESULT -GetSoundDevicePath( - IN PSOUND_DEVICE SoundDevice, - OUT LPWSTR* DevicePath) -{ - if ( ! SoundDevice ) - return MMSYSERR_INVALPARAM; - - if ( ! DevicePath ) - return MMSYSERR_INVALPARAM; - - MessageBox(0, SoundDevice->DevicePath, L"Foo", MB_TASKMODAL | MB_OK); - *DevicePath = SoundDevice->DevicePath; - - return MMSYSERR_NOERROR; -} - - -VOID -RemoveAllSoundDevices() -{ - ULONG i; - - DPRINT("Emptying all device lists\n"); - - for ( i = 0; i < SOUND_DEVICE_TYPES; ++ i ) - { - RemoveSoundDevices(i); - } -} - - -BOOLEAN -RemoveSoundDevices( - IN UCHAR DeviceType) -{ - PSOUND_DEVICE CurrentDevice; - PSOUND_DEVICE NextDevice; - - DPRINT("Emptying device list for device type %d\n", DeviceType); - - if ( ! VALID_SOUND_DEVICE_TYPE(DeviceType) ) - { - DPRINT("Invalid device type - %d\n", DeviceType); - return FALSE; - } - - /* Clean out the device list */ - CurrentDevice = SoundDeviceLists[DeviceType - MIN_SOUND_DEVICE_TYPE]; - - while ( CurrentDevice ) - { - /* Save the next device pointer so we can reference it later */ - NextDevice = CurrentDevice->Next; - - FreeMemory(CurrentDevice); - /*HeapFree(GetProcessHeap(), 0, CurrentDevice);*/ - CurrentDevice = NextDevice; - } - - /* Reset the list content and item count */ - SoundDeviceLists[DeviceType - MIN_SOUND_DEVICE_TYPE] = NULL; - SoundDeviceTotals[DeviceType - MIN_SOUND_DEVICE_TYPE] = 0; - - return TRUE; } @@ -312,6 +210,109 @@ } +BOOLEAN +RemoveSoundDevices( + IN UCHAR DeviceType) +{ + PSOUND_DEVICE CurrentDevice; + PSOUND_DEVICE NextDevice; + + DPRINT("Emptying device list for device type %d\n", DeviceType); + + if ( ! VALID_SOUND_DEVICE_TYPE(DeviceType) ) + { + DPRINT("Invalid device type - %d\n", DeviceType); + return FALSE; + } + + /* Clean out the device list */ + CurrentDevice = SoundDeviceLists[DeviceType - MIN_SOUND_DEVICE_TYPE]; + + while ( CurrentDevice ) + { + /* Save the next device pointer so we can reference it later */ + NextDevice = CurrentDevice->Next; + + FreeMemory(CurrentDevice); + /*HeapFree(GetProcessHeap(), 0, CurrentDevice);*/ + CurrentDevice = NextDevice; + } + + /* Reset the list content and item count */ + SoundDeviceLists[DeviceType - MIN_SOUND_DEVICE_TYPE] = NULL; + SoundDeviceTotals[DeviceType - MIN_SOUND_DEVICE_TYPE] = 0; + + return TRUE; +} + + +VOID +RemoveAllSoundDevices() +{ + ULONG i; + + DPRINT("Emptying all device lists\n"); + + for ( i = 0; i < SOUND_DEVICE_TYPES; ++ i ) + { + RemoveSoundDevices(i); + } +} + + +MMRESULT +GetSoundDevice( + IN UCHAR DeviceType, + IN ULONG DeviceIndex, + OUT PSOUND_DEVICE* Device) +{ + ULONG Count = 0; + PSOUND_DEVICE CurrentDevice = NULL; + + if ( ! VALID_SOUND_DEVICE_TYPE(DeviceType) ) + return MMSYSERR_INVALPARAM; + + if ( DeviceIndex >= SoundDeviceTotals[DeviceType - MIN_SOUND_DEVICE_TYPE] ) + return MMSYSERR_INVALPARAM; + + if ( ! Device ) + return MMSYSERR_INVALPARAM; + + /* + We know by now that a device at the index should exist + so just loop around until we reach that index. + */ + + CurrentDevice = SoundDeviceLists[DeviceType - MIN_SOUND_DEVICE_TYPE]; + + for ( Count = 0; Count <= DeviceIndex; ++ Count ) + { + *Device = CurrentDevice; + CurrentDevice = CurrentDevice->Next; + } + + return MMSYSERR_NOERROR; +} + + +MMRESULT +GetSoundDevicePath( + IN PSOUND_DEVICE SoundDevice, + OUT LPWSTR* DevicePath) +{ + if ( ! SoundDevice ) + return MMSYSERR_INVALPARAM; + + if ( ! DevicePath ) + return MMSYSERR_INVALPARAM; + + MessageBox(0, SoundDevice->DevicePath, L"Foo", MB_TASKMODAL | MB_OK); + *DevicePath = SoundDevice->DevicePath; + + return MMSYSERR_NOERROR; +} + + MMRESULT GetSoundDeviceType( IN PSOUND_DEVICE Device, @@ -558,7 +559,6 @@ PSOUND_DEVICE SoundDevice; MMRESULT Result; - /* TODO: Close device */ SOUND_DEBUG(L"Default instance dtor"); SOUND_ASSERT(SoundDeviceInstance); Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/instances.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/instances.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/instances.c [iso-8859-1] Sun Jul 6 09:30:40 2008 @@ -10,6 +10,7 @@ History: 4 July 2008 - Created + 6 July 2008 - Re-structured */ #include <windows.h> Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/mmebuddy.rbuild URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/mmebuddy.rbuild [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/mmebuddy.rbuild [iso-8859-1] Sun Jul 6 09:30:40 2008 @@ -8,7 +8,6 @@ <file>nt4.c</file> <file>utility.c</file> <file>thread.c</file> - <file>testing.c</file> <directory name="mme"> <file>DriverProc.c</file> <file>wodMessage.c</file> Modified: branches/silverblade-audio/lib/drivers/sound/mmebuddy/nt4.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/nt4.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/nt4.c [iso-8859-1] Sun Jul 6 09:30:40 2008 @@ -232,10 +232,14 @@ if ( ( ValueType == REG_DWORD ) && ( ValueDataLength == sizeof(DWORD) ) ) { - SoundDeviceDetectedProc( - DeviceType, - DevicePath, - INVALID_HANDLE_VALUE); + if ( ( DeviceType == 0 ) || + ( DeviceType == ValueData ) ) + { + SoundDeviceDetectedProc( + ValueData, + DevicePath, + INVALID_HANDLE_VALUE); + } } /* Reset variables for the next iteration */ Removed: branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c URL:
http://svn.reactos.org/svn/reactos/branches/silverblade-audio/lib/drivers/s…
============================================================================== --- branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c [iso-8859-1] (original) +++ branches/silverblade-audio/lib/drivers/sound/mmebuddy/testing.c (removed) @@ -1,365 +1,0 @@ -/* - ReactOS Sound System - MME Driver Helper - - Purpose: - Hax - - Author: - Andrew Greenwood (silverblade(a)reactos.org) - - History: - 4 July 2008 - Created -*/ - -#include <windows.h> -#include <mmsystem.h> -#include <mmddk.h> -#include <ntddsnd.h> -#include <debug.h> - -#include <ntddk.h> -#include <mmebuddy.h> - - - -/* - **** TESTING CODE ONLY **** -*/ - -PSOUND_DEVICE Device; -PSOUND_DEVICE_INSTANCE Instance; -WAVEHDR waveheader; -WORD JunkBuffer[65536]; - - -#define IDS_WAVEOUT_PNAME 0x68 - - - -BOOLEAN TestCallback( - UCHAR DeviceType, - PWSTR DevicePath, - HANDLE Handle) -{ -/* MessageBox(0, DevicePath, L"CALLBACK", MB_OK | MB_TASKMODAL);*/ - - AddSoundDevice(DeviceType, DevicePath); - - return TRUE; -} - - -VOID -TestDeviceDetection() -{ - ULONG WaveInCount, WaveOutCount; - ULONG MidiInCount, MidiOutCount; - ULONG MixerCount, AuxCount; - WCHAR Message[1024]; - - DetectNt4SoundDevices(WAVE_IN_DEVICE_TYPE, - L"\\\\.\\SBWaveIn", - TestCallback); - - DetectNt4SoundDevices(WAVE_OUT_DEVICE_TYPE, - L"\\\\.\\SBWaveOut", - TestCallback); - - DetectNt4SoundDevices(MIDI_IN_DEVICE_TYPE, - L"\\\\.\\MidiIn", - TestCallback); - - DetectNt4SoundDevices(MIDI_OUT_DEVICE_TYPE, - L"\\\\.\\MidiOut", - TestCallback); - - DetectNt4SoundDevices(MIXER_DEVICE_TYPE, - L"\\\\.\\SBMixer", - TestCallback); - - DetectNt4SoundDevices(AUX_DEVICE_TYPE, - L"\\\\.\\SBAux", - TestCallback); - - WaveInCount = GetSoundDeviceCount(WAVE_IN_DEVICE_TYPE); - WaveOutCount = GetSoundDeviceCount(WAVE_OUT_DEVICE_TYPE); - MidiInCount = GetSoundDeviceCount(MIDI_IN_DEVICE_TYPE); - MidiOutCount = GetSoundDeviceCount(MIDI_OUT_DEVICE_TYPE); - MixerCount = GetSoundDeviceCount(MIXER_DEVICE_TYPE); - AuxCount = GetSoundDeviceCount(AUX_DEVICE_TYPE); - - wsprintf(Message, L"Found devices:\n- %d wave inputs\n- %d wave outputs\n- %d midi inputs\n- %d midi outputs\n- %d mixers\n- %d aux devices", - WaveInCount, WaveOutCount, - MidiInCount, MidiOutCount, - MixerCount, AuxCount); - - MessageBox(0, Message, L"Result", MB_OK | MB_TASKMODAL); -} - -APIENTRY VOID -TestGetCaps() -{ - UNIVERSAL_CAPS Caps; - WCHAR DevInfo[1024]; - PSOUND_DEVICE Device; - MMRESULT Result; - - AddSoundDevice(WAVE_OUT_DEVICE_TYPE, L"\\\\.\\SBWaveOut0"); - Result = GetSoundDevice(WAVE_OUT_DEVICE_TYPE, 0, &Device); - - if ( Result != MMSYSERR_NOERROR ) - { - MessageBox(0, L"Fail 1", L"Fail", MB_OK | MB_TASKMODAL); - return; - } - - Result = GetSoundDeviceCapabilities(Device, &Caps); - if ( Result != MMSYSERR_NOERROR ) - { - MessageBox(0, L"Fail 2", L"Fail", MB_OK | MB_TASKMODAL); - return; - } - - wsprintf(DevInfo, L"Device name: %hS\nManufacturer ID: %d\nProduct ID: %d\nDriver version: %x\nChannels: %d", Caps.WaveOut.szPname, Caps.WaveOut.wMid, Caps.WaveOut.wPid, Caps.WaveOut.vDriverVersion, Caps.WaveOut.wChannels); - - MessageBox(0, DevInfo, L"Device caps", MB_OK | MB_TASKMODAL); -} - - -VOID -TestFormatQuery() -{ - WCHAR msg[1024]; - PSOUND_DEVICE Device; - MMRESULT Result; - WAVEFORMATEX fmt; - - AddSoundDevice(WAVE_OUT_DEVICE_TYPE, L"\\\\.\\SBWaveOut0"); - Result = GetSoundDevice(WAVE_OUT_DEVICE_TYPE, 0, &Device); - - if ( Result != MMSYSERR_NOERROR ) - { - MessageBox(0, L"Fail 1", L"Fail", MB_OK | MB_TASKMODAL); - return; - } - - /* Request a valid format */ - fmt.wFormatTag = WAVE_FORMAT_PCM; - fmt.nChannels = 1; - fmt.nSamplesPerSec = 22050; - fmt.wBitsPerSample = 16; - fmt.nBlockAlign = fmt.nChannels * (fmt.wBitsPerSample / 8); - fmt.nAvgBytesPerSec = fmt.nSamplesPerSec * fmt.nBlockAlign; - fmt.cbSize = 0; - - Result = QueryWaveDeviceFormatSupport(Device, &fmt, sizeof(WAVEFORMATEX)); - - wsprintf(msg, L"Format support query result: %d", Result); - MessageBox(0, msg, L"Result", MB_OK | MB_TASKMODAL); - - /* Send it some garbage */ - fmt.nChannels = 6969; - - Result = QueryWaveDeviceFormatSupport(Device, &fmt, sizeof(WAVEFORMATEX)); - - wsprintf(msg, L"Format support query result: %d", Result); - MessageBox(0, msg, L"Result", MB_OK | MB_TASKMODAL); -} - - -VOID CALLBACK -OverlappedCallback( - IN DWORD dwErrorCode, - IN DWORD dwNumberOfBytesTransferred, - IN LPOVERLAPPED lpOverlapped) -{ - MessageBox(0, L"Job done!", L"File IO Callback", MB_OK | MB_TASKMODAL); -} - - -VOID -TestPlaybackHackingly() -{ - WCHAR msg[1024]; - MMRESULT Result; - WAVEFORMATEX fmt; - ULONG i; - - for ( i = 0; i < 65536; ++ i ) - JunkBuffer[i] = rand(); - - AddSoundDevice(WAVE_OUT_DEVICE_TYPE, L"\\\\.\\SBWaveOut0"); - Result = GetSoundDevice(WAVE_OUT_DEVICE_TYPE, 0, &Device); - - if ( Result != MMSYSERR_NOERROR ) - { - MessageBox(0, L"Fail 1", L"Fail", MB_OK | MB_TASKMODAL); - return; - } - -/* Result = OpenKernelSoundDevice(Device, GENERIC_READ | GENERIC_WRITE); - if ( Result != MMSYSERR_NOERROR ) - { - MessageBox(0, L"Fail open", L"Fail", MB_OK | MB_TASKMODAL); - return; - } - wsprintf(msg, L"Opened handle %x", Device->Handle); - MessageBox(0, msg, L"Result", MB_OK | MB_TASKMODAL); -*/ - - Result = CreateSoundDeviceInstance(Device, &Instance); - if ( Result != MMSYSERR_NOERROR ) - { - MessageBox(0, L"Fail 2", L"Fail 2", MB_OK | MB_TASKMODAL); - return; - } - - /* Request a valid format */ - fmt.wFormatTag = WAVE_FORMAT_PCM; - fmt.nChannels = 1; - fmt.nSamplesPerSec = 22050; - fmt.wBitsPerSample = 16; - fmt.nBlockAlign = fmt.nChannels * (fmt.wBitsPerSample / 8); - fmt.nAvgBytesPerSec = fmt.nSamplesPerSec * fmt.nBlockAlign; - fmt.cbSize = 0; - - Result = SetWaveDeviceFormat(Instance, &fmt, sizeof(WAVEFORMATEX)); - - wsprintf(msg, L"Format support set result: %d\nClick to play!", Result); - MessageBox(0, msg, L"Result", MB_OK | MB_TASKMODAL); - - //SOUND_DEBUG_HEX(Instance->Device->Handle); - - Result = StartWaveThread(Instance); - if ( Result != MMSYSERR_NOERROR ) - { - MessageBox(0, L"Failed to start thread", L"Fail 3", MB_OK | MB_TASKMODAL); - return; - } - - //SOUND_DEBUG_HEX(Instance->Device->Handle); - - waveheader.lpData = (PVOID) JunkBuffer; - waveheader.dwBufferLength = 65536; - waveheader.dwFlags = WHDR_PREPARED; - - Result = QueueWaveDeviceBuffer(Instance, &waveheader); -// CallSoundThread(Instance, WAVEREQUEST_QUEUE_BUFFER, &waveheader); -/* - Result = WriteSoundDeviceBuffer(Instance, - JunkBuffer, 65535, OverlappedCallback); -*/ - wsprintf(msg, L"Play result: %d", Result); - MessageBox(0, msg, L"Result", MB_OK | MB_TASKMODAL); - - StopWaveThread(Instance); - DestroySoundDeviceInstance(Instance); -} - - -APIENTRY VOID -TestDevEnum() -{ - EnumerateNt4ServiceSoundDevices( - L"sndblst", - WAVE_OUT_DEVICE_TYPE, - TestCallback); -} - - -MMRESULT -TestThreadCallback( - IN struct _SOUND_DEVICE_INSTANCE* Instance, - IN DWORD RequestId, - IN PVOID Data) -{ - MessageBox(0, L"Thread Request Callback", L"Woot", MB_OK | MB_TASKMODAL); - - return MMSYSERR_NOERROR; -} - - -WINAPI VOID -TestThreading() -{ - MMRESULT Result; - PSOUND_DEVICE Device; - PSOUND_DEVICE_INSTANCE Instance; - - AddSoundDevice(WAVE_OUT_DEVICE_TYPE, L"\\\\.\\SBWaveOut0"); - Result = GetSoundDevice(WAVE_OUT_DEVICE_TYPE, 0, &Device); - if ( Result != MMSYSERR_NOERROR ) - { - MessageBox(0, L"Fail 1", L"Fail 1", MB_OK | MB_TASKMODAL); - return; - } - - Result = CreateSoundDeviceInstance(Device, &Instance); - if ( Result != MMSYSERR_NOERROR ) - { - MessageBox(0, L"Fail 2", L"Fail 2", MB_OK | MB_TASKMODAL); - return; - } - - Result = StartWaveThread(Instance); - if ( Result != MMSYSERR_NOERROR ) - { - MessageBox(0, L"Fail 3", L"Fail 3", MB_OK | MB_TASKMODAL); - return; - } - - MessageBox(0, L"Click to send a request", L"Bai", MB_OK | MB_TASKMODAL); - CallSoundThread(Instance, 69, NULL); - - MessageBox(0, L"Click to kill thread", L"Bai", MB_OK | MB_TASKMODAL); - - StopWaveThread(Instance); -} - - -VOID -wodTest() -{ - //MMRESULT Result; - DWORD NumWaveOuts; - WAVEOUTCAPS Caps; - MMRESULT Result; - WCHAR String[1024]; - - /* Report the number of wave output devices */ - NumWaveOuts = wodMessage(0, WODM_GETNUMDEVS, 0, 0, 0); - SOUND_DEBUG_HEX(NumWaveOuts); - - if ( NumWaveOuts < 1 ) - { - SOUND_DEBUG(L"Nothing to do as no waveout devices!"); - return; - } - - Result = wodMessage(0, WODM_GETDEVCAPS, 0, - (DWORD) &Caps, sizeof(WAVEOUTCAPS)); - - wsprintf(String, L"Device name: %hS\nManufacturer ID: %d\nProduct ID: %d\nDriver version: %x\nChannels: %d", Caps.szPname, Caps.wMid, Caps.wPid, Caps.vDriverVersion, Caps.wChannels); - - MessageBox(0, String, L"Device caps", MB_OK | MB_TASKMODAL); -} - - -int APIENTRY wWinMain( - HINSTANCE hInstance, - HINSTANCE hPrevInstance, - LPWSTR lpCmdLine, - int nCmdShow) -{ -// TestDeviceDetection(); -// wodTest(); -// TestFormatQuery(); - TestPlaybackHackingly(); -// TestDevEnum(); -/* - TestThreading(); -*/ - MessageBox(0, L"Le end", L"Bai", MB_OK | MB_TASKMODAL); - return 0; -}
16 years, 5 months
1
0
0
0
[fireball] 34331: - Fix russian translation, thanks Kaffeine.
by fireball@svn.reactos.org
Author: fireball Date: Sun Jul 6 08:48:31 2008 New Revision: 34331 URL:
http://svn.reactos.org/svn/reactos?rev=34331&view=rev
Log: - Fix russian translation, thanks Kaffeine. Modified: trunk/rosapps/applications/downloader/lang/ru-RU.rc Modified: trunk/rosapps/applications/downloader/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/applications/downloader/la…
============================================================================== --- trunk/rosapps/applications/downloader/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/rosapps/applications/downloader/lang/ru-RU.rc [iso-8859-1] Sun Jul 6 08:48:31 2008 @@ -35,7 +35,7 @@ IDS_NO_APP_TITLE "Ïðèëîæåíèå íå âûáðàíî" IDS_NO_APP "Ïîæàëóéñòà, âûáåðèòå ïðèëîæåíèå ïðåæäå, ÷åì íàæàòü êíîïêó çàãðóçêè. Åñëè âàì íóæíà ñïðàâêà, òî íàæìèòå êíîïêó ñî çíàêîì âîïðîñà â âåðõíåì ïðàâîì óãëó." IDS_UPDATE_TITLE "Îáíîâèòü" - IDS_UPDATE "Èçâåíèòå, äàííàÿ âîçìîæíîñòü íà äàííûì ìîìåíò íåäîñòóïíà." + IDS_UPDATE "Èçâèíèòå, äàííàÿ âîçìîæíîñòü íà äàííûì ìîìåíò íåäîñòóïíà." IDS_HELP_TITLE "Ñïðàâêà" IDS_HELP "Âûáåðèòå êàòåãîðèþ ñëåâà, çàòåì âûáåðèòå ïðèëîæåíèå è íàæìèòå êíîïêó çàãðóçêè. Äëÿ ïîëó÷åíèÿ èíôîðìàöèè îá îáíîâëåíèÿõ íàæìèòå êíîïêó ðÿäîì ñ êíîïêîé ñïðàâêè." IDS_NO_APPS "Èçâåíèòå, íà äàííûé ìîìåíò â ýòîé êàòåãîðèè ïðèëîæåíèé íåò, íî âû ìîæåòå ïîìî÷ü äîáàâèòü èõ." @@ -56,7 +56,7 @@ IDS_DOWNLOAD_FOLDER "Downloader" IDS_UNABLECREATE_FOLDER "Íå óäàëîñü ñîçäàòü ïàïêó ñ òàêèì èìåíåì!" IDS_UPDATE_URL "
http://svn.reactos.org
" - IDS_INSTALL_DEP "%s is required to run %s. Should %s be installed now?" + IDS_INSTALL_DEP "%s òðåáóåòñÿ äëÿ çàïóñêà %s. Óñòàíîâèòü %s?" TTT_HELPBUTTON "Ïîêàçàòü ñïðàâêó ïðîãðàììû" TTT_UPDATEBUTTON "Ñåé÷àñ íåäîñòóïíî" TTT_PROFBUTTON "Âûïîëíèòü íàñòðîéêó ïðîãðàììû"
16 years, 5 months
1
0
0
0
[pschweitzer] 34330: Fixed crappy previous translation
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Sun Jul 6 08:25:50 2008 New Revision: 34330 URL:
http://svn.reactos.org/svn/reactos?rev=34330&view=rev
Log: Fixed crappy previous translation Modified: trunk/reactos/base/setup/reactos/lang/fr-FR.rc Modified: trunk/reactos/base/setup/reactos/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/reactos/lang/fr…
============================================================================== --- trunk/reactos/base/setup/reactos/lang/fr-FR.rc [iso-8859-1] (original) +++ trunk/reactos/base/setup/reactos/lang/fr-FR.rc [iso-8859-1] Sun Jul 6 08:25:50 2008 @@ -6,7 +6,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Bienvenue dans l'assistant d'installation de ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24 - LTEXT "Vous ne pouver pas installer ReactOS directement depuis ce CD! "\ + LTEXT "Vous ne pouvez pas encore installer ReactOS directement depuis ce CD ! "\ "Veuillez redémarrer votre ordinateur depuis ce CD pour pouvoir "\ "installer ReactOS.", IDC_STATIC, 115, 40, 195, 100 LTEXT "Cliquez sur Terminer pour quitter l'installation.", IDC_STATIC, 115, 169, 195, 17
16 years, 5 months
1
0
0
0
← Newer
1
...
63
64
65
66
67
68
69
...
77
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Results per page:
10
25
50
100
200