add sndvol32 to the build system and reformat the code
Modified: trunk/reactos/subsys/system/directory.xml
Modified: trunk/reactos/subsys/system/sndvol32/En.rc
Added: trunk/reactos/subsys/system/sndvol32/misc.c
Modified: trunk/reactos/subsys/system/sndvol32/mixer.c
Modified: trunk/reactos/subsys/system/sndvol32/sndvol32.c
Modified: trunk/reactos/subsys/system/sndvol32/sndvol32.h
Added: trunk/reactos/subsys/system/sndvol32/sndvol32.xml

Modified: trunk/reactos/subsys/system/directory.xml
--- trunk/reactos/subsys/system/directory.xml	2005-09-26 19:09:32 UTC (rev 18101)
+++ trunk/reactos/subsys/system/directory.xml	2005-09-26 19:15:27 UTC (rev 18102)
@@ -55,6 +55,9 @@
 <directory name="sm">
 	<xi:include href="sm/sm.xml" />
 </directory>
+<directory name="sndvol32">
+	<xi:include href="sndvol32/sndvol32.xml" />
+</directory>
 <directory name="taskmgr">
 	<xi:include href="taskmgr/taskmgr.xml" />
 </directory>
Property changes on: trunk/reactos/subsys/system/sndvol32
___________________________________________________________________
Name: svn:ignore
   - *.o
*.d
*.exe
*.coff
*.sym
*.map
   + *.o
*.a
*.d
*.exe
*.coff
*.sym
*.map
GNUmakefile

Modified: trunk/reactos/subsys/system/sndvol32/En.rc
--- trunk/reactos/subsys/system/sndvol32/En.rc	2005-09-26 19:09:32 UTC (rev 18101)
+++ trunk/reactos/subsys/system/sndvol32/En.rc	2005-09-26 19:15:27 UTC (rev 18102)
@@ -13,7 +13,7 @@
     BEGIN
         MENUITEM "&Help Topics", IDC_HELP_TOPICS
         MENUITEM SEPARATOR
-        MENUITEM "&About ...", IDC_ABOUT
+        MENUITEM "&About Volume Control", IDC_ABOUT
     END
 END
 

Added: trunk/reactos/subsys/system/sndvol32/misc.c
--- trunk/reactos/subsys/system/sndvol32/misc.c	2005-09-26 19:09:32 UTC (rev 18101)
+++ trunk/reactos/subsys/system/sndvol32/misc.c	2005-09-26 19:15:27 UTC (rev 18102)
@@ -0,0 +1,129 @@
+/*
+ * ReactOS Sound Volume Control
+ * Copyright (C) 2004-2005 Thomas Weidenmueller
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * VMware is a registered trademark of VMware, Inc.
+ */
+/* $Id$
+ *
+ * COPYRIGHT:   See COPYING in the top level directory
+ * PROJECT:     ReactOS Sound Volume Control
+ * FILE:        subsys/system/sndvol32/misc.c
+ * PROGRAMMERS: Thomas Weidenmueller <w3seek@reactos.com>
+ */
+#include <sndvol32.h>
+
+static INT
+LengthOfStrResource(IN HINSTANCE hInst,
+                    IN UINT uID)
+{
+    HRSRC hrSrc;
+    HGLOBAL hRes;
+    LPWSTR lpName, lpStr;
+
+    if (hInst == NULL)
+    {
+        return -1;
+    }
+
+    /* There are always blocks of 16 strings */
+    lpName = (LPWSTR)MAKEINTRESOURCE((uID >> 4) + 1);
+
+    /* Find the string table block */
+    if ((hrSrc = FindResourceW(hInst,
+                               lpName,
+                               (LPWSTR)RT_STRING)) &&
+        (hRes = LoadResource(hInst,
+                             hrSrc)) &&
+        (lpStr = LockResource(hRes)))
+    {
+        UINT x;
+
+        /* Find the string we're looking for */
+        uID &= 0xF; /* position in the block, same as % 16 */
+        for (x = 0; x < uID; x++)
+        {
+            lpStr += (*lpStr) + 1;
+        }
+
+        /* Found the string */
+        return (int)(*lpStr);
+    }
+    return -1;
+}
+
+INT
+AllocAndLoadString(OUT LPWSTR *lpTarget,
+                   IN HINSTANCE hInst,
+                   IN UINT uID)
+{
+    INT ln;
+
+    ln = LengthOfStrResource(hInst,
+                             uID);
+    if (ln++ > 0)
+    {
+        (*lpTarget) = (LPWSTR)LocalAlloc(LMEM_FIXED,
+                                         ln * sizeof(WCHAR));
+        if ((*lpTarget) != NULL)
+        {
+            INT Ret;
+            if (!(Ret = LoadStringW(hInst,
+                                    uID,
+                                    *lpTarget,
+                                    ln)))
+            {
+                LocalFree((HLOCAL)(*lpTarget));
+            }
+            return Ret;
+        }
+    }
+    return 0;
+}
+
+DWORD
+LoadAndFormatString(IN HINSTANCE hInstance,
+                    IN UINT uID,
+                    OUT LPWSTR *lpTarget,
+                    ...)
+{
+    DWORD Ret = 0;
+    LPWSTR lpFormat;
+    va_list lArgs;
+
+    if (AllocAndLoadString(&lpFormat,
+                           hInstance,
+                           uID) > 0)
+    {
+        va_start(lArgs, lpTarget);
+        /* let's use FormatMessage to format it because it has the ability to
+           allocate memory automatically */
+        Ret = FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING,
+                             lpFormat,
+                             0,
+                             0,
+                             (LPWSTR)lpTarget,
+                             0,
+                             &lArgs);
+        va_end(lArgs);
+
+        LocalFree((HLOCAL)lpFormat);
+    }
+
+    return Ret;
+}
+
Property changes on: trunk/reactos/subsys/system/sndvol32/misc.c
___________________________________________________________________
Name: svn:keywords
   + author date id revision
Name: svn:eol-style
   + native

Modified: trunk/reactos/subsys/system/sndvol32/mixer.c
--- trunk/reactos/subsys/system/sndvol32/mixer.c	2005-09-26 19:09:32 UTC (rev 18101)
+++ trunk/reactos/subsys/system/sndvol32/mixer.c	2005-09-26 19:15:27 UTC (rev 18102)
@@ -1,6 +1,6 @@
 /*
  * ReactOS Sound Volume Control
- * Copyright (C) 2004 Thomas Weidenmueller
+ * Copyright (C) 2004-2005 Thomas Weidenmueller
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -25,354 +25,423 @@
  * FILE:        subsys/system/sndvol32/mixer.c
  * PROGRAMMERS: Thomas Weidenmueller <w3seek@reactos.com>
  */
-#include "sndvol32.h"
+#include <sndvol32.h>
 
 #define NO_MIXER_SELECTED (~0)
 
 static VOID
 ClearMixerCache(PSND_MIXER Mixer)
 {
-  PSND_MIXER_DESTINATION Line, NextLine;
-  PSND_MIXER_CONNECTION Con, NextCon;
+    PSND_MIXER_DESTINATION Line, NextLine;
+    PSND_MIXER_CONNECTION Con, NextCon;
 
-  for(Line = Mixer->Lines; Line != NULL; Line = NextLine)
-  {
-    if(Line->Controls != NULL)
+    for (Line = Mixer->Lines; Line != NULL; Line = NextLine)
     {
-      HeapFree(GetProcessHeap(), 0, Line->Controls);
-    }
+        if (Line->Controls != NULL)
+        {
+            HeapFree(GetProcessHeap(),
+                     0,
+                     Line->Controls);
+        }
 
-    for(Con = Line->Connections; Con != NULL; Con = NextCon)
-    {
-      if(Con->Controls != NULL)
-      {
-        HeapFree(GetProcessHeap(), 0, Con->Controls);
-      }
+        for (Con = Line->Connections; Con != NULL; Con = NextCon)
+        {
+            if (Con->Controls != NULL)
+            {
+                HeapFree(GetProcessHeap(),
+                         0,
+                         Con->Controls);
+            }
 
-      NextCon = Con->Next;
-      HeapFree(GetProcessHeap(), 0, Con);
+            NextCon = Con->Next;
+            HeapFree(GetProcessHeap(),
+                     0,
+                     Con);
+        }
+
+        NextLine = Line->Next;
+        HeapFree(GetProcessHeap(),
+                 0,
+                 Line);
     }
-
-    NextLine = Line->Next;
-    HeapFree(GetProcessHeap(), 0, Line);
-  }
-  Mixer->Lines = NULL;
+    Mixer->Lines = NULL;
 }
 
 PSND_MIXER
 SndMixerCreate(HWND hWndNotification)
 {
-  PSND_MIXER Mixer = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(SND_MIXER));
-  if(Mixer != NULL)
-  {
-    Mixer->hWndNotification = hWndNotification;
-    Mixer->MixersCount = mixerGetNumDevs();
-    Mixer->MixerId = NO_MIXER_SELECTED;
+    PSND_MIXER Mixer = HeapAlloc(GetProcessHeap(),
+                                 HEAP_ZERO_MEMORY,
+                                 sizeof(SND_MIXER));
+    if (Mixer != NULL)
+    {
+        Mixer->hWndNotification = hWndNotification;
+        Mixer->MixersCount = mixerGetNumDevs();
+        Mixer->MixerId = NO_MIXER_SELECTED;
 
-    if(Mixer->MixersCount > 0)
-    {
-      /* select the first mixer by default */
-      SndMixerSelect(Mixer, 0);
+        if (Mixer->MixersCount > 0)
+        {
+            /* select the first mixer by default */
+            SndMixerSelect(Mixer, 0);
+        }
     }
-  }
 
-  return Mixer;
+    return Mixer;
 }
 
 VOID
 SndMixerDestroy(PSND_MIXER Mixer)
 {
-  SndMixerClose(Mixer);
-  HeapFree(GetProcessHeap(), 0, Mixer);
+    SndMixerClose(Mixer);
+    HeapFree(GetProcessHeap(),
+             0,
+             Mixer);
 }
 
 VOID
 SndMixerClose(PSND_MIXER Mixer)
 {
-  if(Mixer->hmx != NULL)
-  {
-    mixerClose(Mixer->hmx);
-    Mixer->hmx = NULL;
-    Mixer->MixerId = NO_MIXER_SELECTED;
-  }
+    if (Mixer->hmx != NULL)
+    {
+      mixerClose(Mixer->hmx);
+      Mixer->hmx = NULL;
+      Mixer->MixerId = NO_MIXER_SELECTED;
+    }
 }
 
 static BOOL
-SndMixerQueryControls(PSND_MIXER Mixer, LPMIXERLINE LineInfo, LPMIXERCONTROL *Controls)
+SndMixerQueryControls(PSND_MIXER Mixer,
+                      LPMIXERLINE LineInfo,
+                      LPMIXERCONTROL *Controls)
 {
-  if(LineInfo->cControls > 0)
-  {
-    *Controls = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, LineInfo->cControls * sizeof(MIXERCONTROL));
-    if(*Controls != NULL)
+    if (LineInfo->cControls > 0)
     {
-      MIXERLINECONTROLS LineControls;
-      UINT j;
+        *Controls = HeapAlloc(GetProcessHeap(),
+                              HEAP_ZERO_MEMORY,
+                              LineInfo->cControls * sizeof(MIXERCONTROL));
+        if (*Controls != NULL)
+        {
+            MIXERLINECONTROLS LineControls;
+            UINT j;
 
-      LineControls.cbStruct = sizeof(LineControls);
-      LineControls.dwLineID = LineInfo->dwLineID;
-      LineControls.cControls = LineInfo->cControls;
-      LineControls.cbmxctrl = sizeof(MIXERCONTROL);
-      LineControls.pamxctrl = (PVOID)(*Controls);
+            LineControls.cbStruct = sizeof(LineControls);
+            LineControls.dwLineID = LineInfo->dwLineID;
+            LineControls.cControls = LineInfo->cControls;
+            LineControls.cbmxctrl = sizeof(MIXERCONTROL);
+            LineControls.pamxctrl = (PVOID)(*Controls);
 
-      for(j = 0; j < LineInfo->cControls; j++)
-      {
-        (*Controls)[j].cbStruct = sizeof(MIXERCONTROL);
-      }
+            for (j = 0; j < LineInfo->cControls; j++)
+            {
+                (*Controls)[j].cbStruct = sizeof(MIXERCONTROL);
+            }
 
-      if(mixerGetLineControls((HMIXEROBJ)Mixer->hmx, &LineControls, MIXER_GETLINECONTROLSF_ALL) == MMSYSERR_NOERROR)
-      {
-        for(j = 0; j < LineInfo->cControls; j++)
+            if (mixerGetLineControls((HMIXEROBJ)Mixer->hmx,
+                                     &LineControls,
+                                     MIXER_GETLINECONTROLSF_ALL) == MMSYSERR_NOERROR)
+            {
+                for (j = 0; j < LineInfo->cControls; j++)
+                {
+                    DPRINT("Line control: %ws", (*Controls)[j].szName);
+                }
+
+                return TRUE;
+            }
+            else
+            {
+                HeapFree(GetProcessHeap(),
+                         0,
+                         *Controls);
+                *Controls = NULL;
+                DPRINT("Failed to get line controls!\n");
+            }
+        }
+        else
         {
-          DBG("Line control: %ws", (*Controls)[j].szName);
+            DPRINT("Failed to allocate memory for %d line controls!\n", LineInfo->cControls);
         }
 
-        return TRUE;
-      }
-      else
-      {
-        HeapFree(GetProcessHeap(), 0, *Controls);
-        *Controls = NULL;
-        DBG("Failed to get line controls!\n");
-      }
+        return FALSE;
     }
     else
     {
-      DBG("Failed to allocate memory for %d line controls!\n", LineInfo->cControls);
+        return TRUE;
     }
-
-    return FALSE;
-  }
-  else
-  {
-    return TRUE;
-  }
 }
 
 static BOOL
-SndMixerQueryConnections(PSND_MIXER Mixer, PSND_MIXER_DESTINATION Line)
+SndMixerQueryConnections(PSND_MIXER Mixer,
+                         PSND_MIXER_DESTINATION Line)
 {
-  UINT i;
-  MIXERLINE LineInfo;
-  BOOL Ret = TRUE;
+    UINT i;
+    MIXERLINE LineInfo;
+    BOOL Ret = TRUE;
 
-  LineInfo.cbStruct = sizeof(LineInfo);
-  LineInfo.dwDestination = Line->Info.dwDestination;
-  for(i = Line->Info.cConnections; i > 0; i--)
-  {
-    LineInfo.dwSource = i - 1;
-    if(mixerGetLineInfo((HMIXEROBJ)Mixer->hmx, &LineInfo, MIXER_GETLINEINFOF_SOURCE) == MMSYSERR_NOERROR)
+    LineInfo.cbStruct = sizeof(LineInfo);
+    LineInfo.dwDestination = Line->Info.dwDestination;
+    for (i = Line->Info.cConnections; i > 0; i--)
     {
-      LPMIXERCONTROL Controls;
-      PSND_MIXER_CONNECTION Con;
+        LineInfo.dwSource = i - 1;
+        if (mixerGetLineInfo((HMIXEROBJ)Mixer->hmx,
+                             &LineInfo,
+                             MIXER_GETLINEINFOF_SOURCE) == MMSYSERR_NOERROR)
+        {
+            LPMIXERCONTROL Controls;
+            PSND_MIXER_CONNECTION Con;
 
-      if(!SndMixerQueryControls(Mixer, &LineInfo, &Controls))
-      {
-        DBG("Failed to query connection controls\n");
-        Ret = FALSE;
-        break;
-      }
+            if (!SndMixerQueryControls(Mixer,
+                                       &LineInfo,
+                                       &Controls))
+            {
+                DPRINT("Failed to query connection controls\n");
+                Ret = FALSE;
+                break;
+            }
 
-      Con = HeapAlloc(GetProcessHeap(), 0, sizeof(SND_MIXER_CONNECTION));
-      if(Con != NULL)
-      {
-        Con->Info = LineInfo;
-        Con->Controls = Controls;
-        Con->Next = Line->Connections;
-        Line->Connections = Con;
-      }
-      else
-      {
-        HeapFree(GetProcessHeap(), 0, Controls);
-      }
+            Con = HeapAlloc(GetProcessHeap(),
+                            0,
+                            sizeof(SND_MIXER_CONNECTION));
+            if (Con != NULL)
+            {
+                Con->Info = LineInfo;
+                Con->Controls = Controls;
+                Con->Next = Line->Connections;
+                Line->Connections = Con;
+            }
+            else
+            {
+                HeapFree(GetProcessHeap(),
+                         0,
+                         Controls);
+            }
+        }
+        else
+        {
+            DPRINT("Failed to get connection information!\n");
+            Ret = FALSE;
+            break;
+        }
     }
-    else
-    {
-      DBG("Failed to get connection information!\n");
-      Ret = FALSE;
-      break;
-    }
-  }
 
-  return Ret;
+    return Ret;
 }
 
 static BOOL
 SndMixerQueryDestinations(PSND_MIXER Mixer)
 {
-  UINT i;
-  BOOL Ret = TRUE;
+    UINT i;
+    BOOL Ret = TRUE;
 
-  for(i = Mixer->Caps.cDestinations; i > 0; i--)
-  {
-    PSND_MIXER_DESTINATION Line;
+    for (i = Mixer->Caps.cDestinations; i > 0; i--)
+    {
+        PSND_MIXER_DESTINATION Line;
 
-    Line = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(SND_MIXER_DESTINATION));
-    if(Line != NULL)
-    {
-      Line->Info.cbStruct = sizeof(Line->Info);
-      Line->Info.dwDestination = i - 1;
-      if(mixerGetLineInfo((HMIXEROBJ)Mixer->hmx, &Line->Info, MIXER_GETLINEINFOF_DESTINATION) == MMSYSERR_NOERROR)
-      {
-        if(!SndMixerQueryConnections(Mixer, Line))
+        Line = HeapAlloc(GetProcessHeap(),
+                         HEAP_ZERO_MEMORY,
+                         sizeof(SND_MIXER_DESTINATION));
+        if (Line != NULL)
         {
-          DBG("Failed to query mixer connections!\n");
-          Ret = FALSE;
-          break;
+            Line->Info.cbStruct = sizeof(Line->Info);
+            Line->Info.dwDestination = i - 1;
+            if (mixerGetLineInfo((HMIXEROBJ)Mixer->hmx,
+                                 &Line->Info,
+                                 MIXER_GETLINEINFOF_DESTINATION) == MMSYSERR_NOERROR)
+            {
+                if (!SndMixerQueryConnections(Mixer, Line))
+                {
+                    DPRINT("Failed to query mixer connections!\n");
+                    Ret = FALSE;
+                    break;
+                }
+                if (!SndMixerQueryControls(Mixer,
+                                           &Line->Info,
+                                           &Line->Controls))
+                {
+                    DPRINT("Failed to query mixer controls!\n");
+                    Ret = FALSE;
+                    break;
+                }
+
+                Line->Next = Mixer->Lines;
+                Mixer->Lines = Line;
+            }
+            else
+            {
+                DPRINT("Failed to get line information for id %d!\n", i);
+                HeapFree(GetProcessHeap(),
+                         0,
+                         Line);
+                Ret = FALSE;
+                break;
+            }
         }
-        if(!SndMixerQueryControls(Mixer, &Line->Info, &Line->Controls))
+        else
         {
-          DBG("Failed to query mixer controls!\n");
-          Ret = FALSE;
-          break;
+            DPRINT("Allocation of SND_MIXER_DEST structure for id %d failed!\n", i);
+            Ret = FALSE;
+            break;
         }
-
-        Line->Next = Mixer->Lines;
-        Mixer->Lines = Line;
-      }
-      else
-      {
-        DBG("Failed to get line information for id %d!\n", i);
-        HeapFree(GetProcessHeap(), 0, Line);
-        Ret = FALSE;
-        break;
-      }
     }
-    else
-    {
-      DBG("Allocation of SND_MIXER_DEST structure for id %d failed!\n", i);
-      Ret = FALSE;
-      break;
-    }
-  }
 
-  return Ret;
+    return Ret;
 }
 
 BOOL
-SndMixerSelect(PSND_MIXER Mixer, UINT MixerId)
+SndMixerSelect(PSND_MIXER Mixer,
+               UINT MixerId)
 {
-  if(MixerId >= Mixer->MixersCount)
-  {
-    return FALSE;
-  }
+    if (MixerId >= Mixer->MixersCount)
+    {
+        return FALSE;
+    }
 
-  SndMixerClose(Mixer);
+    SndMixerClose(Mixer);
 
-  if(mixerOpen(&Mixer->hmx, MixerId, (DWORD_PTR)Mixer->hWndNotification, 0, CALLBACK_WINDOW | MIXER_OBJECTF_MIXER) == MMSYSERR_NOERROR ||
-     mixerOpen(&Mixer->hmx, MixerId, (DWORD_PTR)Mixer->hWndNotification, 0, CALLBACK_WINDOW) == MMSYSERR_NOERROR ||
-     mixerOpen(&Mixer->hmx, MixerId, 0, 0, 0) == MMSYSERR_NOERROR)
-  {
-    if(mixerGetDevCaps(MixerId, &Mixer->Caps, sizeof(Mixer->Caps)) == MMSYSERR_NOERROR)
+    if (mixerOpen(&Mixer->hmx,
+                  MixerId,
+                  (DWORD_PTR)Mixer->hWndNotification,
+                  0,
+                  CALLBACK_WINDOW | MIXER_OBJECTF_MIXER) == MMSYSERR_NOERROR ||
+        mixerOpen(&Mixer->hmx,
+                  MixerId,
+                  (DWORD_PTR)Mixer->hWndNotification,
+                  0,
+                  CALLBACK_WINDOW) == MMSYSERR_NOERROR ||
+        mixerOpen(&Mixer->hmx,
+                  MixerId,
+                  0,
+                  0,
+                  0) == MMSYSERR_NOERROR)
     {
-      BOOL Ret = FALSE;
+        if (mixerGetDevCaps(MixerId,
+                            &Mixer->Caps,
+                            sizeof(Mixer->Caps)) == MMSYSERR_NOERROR)
+        {
+            BOOL Ret = FALSE;
 
-      Mixer->MixerId = MixerId;
+            Mixer->MixerId = MixerId;
 
-      ClearMixerCache(Mixer);
+            ClearMixerCache(Mixer);
 
-      Ret = SndMixerQueryDestinations(Mixer);
+            Ret = SndMixerQueryDestinations(Mixer);
 
-      if(!Ret)
-      {
-        ClearMixerCache(Mixer);
-      }
+            if (!Ret)
+            {
+                ClearMixerCache(Mixer);
+            }
 
-      return Ret;
+            return Ret;
+        }
+        else
+        {
+            mixerClose(Mixer->hmx);
+        }
     }
-    else
-    {
-      mixerClose(Mixer->hmx);
-    }
-  }
 
-  Mixer->hmx = NULL;
-  Mixer->MixerId = NO_MIXER_SELECTED;
-  return FALSE;
+    Mixer->hmx = NULL;
+    Mixer->MixerId = NO_MIXER_SELECTED;
+    return FALSE;
 }
 
 UINT
 SndMixerGetSelection(PSND_MIXER Mixer)
 {
-  return Mixer->MixerId;
+    return Mixer->MixerId;
 }
 
 INT
-SndMixerGetProductName(PSND_MIXER Mixer, LPTSTR lpBuffer, UINT uSize)
+SndMixerGetProductName(PSND_MIXER Mixer,
+                       LPTSTR lpBuffer,
+                       UINT uSize)
 {
-  if(Mixer->hmx)
-  {
-    int lnsz = lstrlen(Mixer->Caps.szPname);
-    if(lnsz + 1 > uSize)
+    if (Mixer->hmx)
     {
-      return lnsz + 1;
+        int lnsz = lstrlen(Mixer->Caps.szPname);
+        if(lnsz + 1 > uSize)
+        {
+            return lnsz + 1;
+        }
+        else
+        {
+            memcpy(lpBuffer, Mixer->Caps.szPname, lnsz * sizeof(TCHAR));
+            lpBuffer[lnsz] = _T('\0');
+            return lnsz;
+        }
     }
-    else
-    {
-      memcpy(lpBuffer, Mixer->Caps.szPname, lnsz * sizeof(TCHAR));
-      lpBuffer[lnsz] = _T('\0');
-      return lnsz;
-    }
-  }
 
-  return -1;
+    return -1;
 }
 
 BOOL
-SndMixerEnumProducts(PSND_MIXER Mixer, PFNSNDMIXENUMPRODUCTS EnumProc, PVOID Context)
+SndMixerEnumProducts(PSND_MIXER Mixer,
+                     PFNSNDMIXENUMPRODUCTS EnumProc,
+                     PVOID Context)
 {
-  MIXERCAPS Caps;
-  HMIXER hMixer;
-  UINT i;
-  BOOL Ret = TRUE;
+    MIXERCAPS Caps;
+    HMIXER hMixer;
+    UINT i;
+    BOOL Ret = TRUE;
 
-  for(i = 0; i < Mixer->MixersCount; i++)
-  {
-    if(mixerOpen(&hMixer, i, 0, 0, 0) == MMSYSERR_NOERROR)
+    for (i = 0; i < Mixer->MixersCount; i++)
     {
-      if(mixerGetDevCaps(i, &Caps, sizeof(Caps)) == MMSYSERR_NOERROR)
-      {
-        if(!EnumProc(Mixer, i, Caps.szPname, Context))
+        if (mixerOpen(&hMixer,
+                      i,
+                      0,
+                      0,
+                      0) == MMSYSERR_NOERROR)
         {
-          mixerClose(hMixer);
-          Ret = FALSE;
-          break;
+            if (mixerGetDevCaps(i,
+                                &Caps,
+                                sizeof(Caps)) == MMSYSERR_NOERROR)
+            {
+                if (!EnumProc(Mixer,
+                              i,
+                              Caps.szPname,
+                              Context))
+                {
+                    mixerClose(hMixer);
+                    Ret = FALSE;
+                    break;
+                }
+            }
+            else
+            {
+                DPRINT("Failed to get device capabilities for mixer id %d!\n", i);
+            }
+            mixerClose(hMixer);
         }
-      }
-      else
-      {
-        DBG("Failed to get device capabilities for mixer id %d!\n", i);
-      }
-      mixerClose(hMixer);
     }
-  }
 
-  return Ret;
+    return Ret;
 }
 
 INT
 SndMixerGetDestinationCount(PSND_MIXER Mixer)
 {
-  return (Mixer->hmx ? Mixer->Caps.cDestinations : -1);
+    return (Mixer->hmx ? Mixer->Caps.cDestinations : -1);
 }
 
 BOOL
-SndMixerEnumLines(PSND_MIXER Mixer, PFNSNDMIXENUMLINES EnumProc, PVOID Context)
+SndMixerEnumLines(PSND_MIXER Mixer,
+                  PFNSNDMIXENUMLINES EnumProc,
+                  PVOID Context)
 {
-  if(Mixer->hmx)
-  {
-    PSND_MIXER_DESTINATION Line;
+    if (Mixer->hmx)
+    {
+        PSND_MIXER_DESTINATION Line;
 
-    for(Line = Mixer->Lines; Line != NULL; Line = Line->Next)
-    {
-      if(!EnumProc(Mixer, &Line->Info, Context))
-      {
-        return FALSE;
-      }
+        for (Line = Mixer->Lines; Line != NULL; Line = Line->Next)
+        {
+            if (!EnumProc(Mixer,
+                          &Line->Info,
+                          Context))
+            {
+                return FALSE;
+            }
+        }
+
+        return TRUE;
     }
 
-    return TRUE;
-  }
-
-  return FALSE;
+    return FALSE;
 }
 

Modified: trunk/reactos/subsys/system/sndvol32/sndvol32.c
--- trunk/reactos/subsys/system/sndvol32/sndvol32.c	2005-09-26 19:09:32 UTC (rev 18101)
+++ trunk/reactos/subsys/system/sndvol32/sndvol32.c	2005-09-26 19:15:27 UTC (rev 18102)
@@ -1,6 +1,6 @@
 /*
  * ReactOS Sound Volume Control
- * Copyright (C) 2004 Thomas Weidenmueller
+ * Copyright (C) 2004-2005 Thomas Weidenmueller
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -25,7 +25,7 @@
  * FILE:        subsys/system/sndvol32/sndvol32.c
  * PROGRAMMERS: Thomas Weidenmueller <w3seek@reactos.com>
  */
-#include "sndvol32.h"
+#include <sndvol32.h>
 
 HINSTANCE hAppInstance;
 ATOM MainWindowClass;
@@ -33,116 +33,137 @@
 HANDLE hAppHeap;
 
 #define GetDialogData(hwndDlg, type) \
-  ( P##type )GetWindowLongPtr((hwndDlg), DWLP_USER)
+    ( P##type )GetWindowLongPtr((hwndDlg), DWLP_USER)
 #define GetWindowData(hwnd, type) \
-  ( P##type )GetWindowLongPtr((hwnd), GWL_USERDATA)
+    ( P##type )GetWindowLongPtr((hwnd), GWL_USERDATA)
 
 /******************************************************************************/
 
 typedef struct _PREFERENCES_CONTEXT
 {
-  PMIXER_WINDOW MixerWindow;
-  PSND_MIXER Mixer;
-  HWND hwndDlg;
+    PMIXER_WINDOW MixerWindow;
+    PSND_MIXER Mixer;
+    HWND hwndDlg;
 } PREFERENCES_CONTEXT, *PPREFERENCES_CONTEXT;
 
 typedef struct _PREFERENCES_FILL_DEVICES
 {
-  PPREFERENCES_CONTEXT PrefContext;
-  HWND hComboBox;
-  UINT Selected;
+    PPREFERENCES_CONTEXT PrefContext;
+    HWND hComboBox;
+    UINT Selected;
 } PREFERENCES_FILL_DEVICES, *PPREFERENCES_FILL_DEVICES;
 
 static BOOL CALLBACK
-FillDeviceComboBox(PSND_MIXER Mixer, UINT Id, LPCTSTR ProductName, PVOID Context)
+FillDeviceComboBox(PSND_MIXER Mixer,
+                   UINT Id,
+                   LPCTSTR ProductName,
+                   PVOID Context)
 {
-  LRESULT lres;
-  PPREFERENCES_FILL_DEVICES FillContext = (PPREFERENCES_FILL_DEVICES)Context;
+    LRESULT lres;
+    PPREFERENCES_FILL_DEVICES FillContext = (PPREFERENCES_FILL_DEVICES)Context;
 
-  lres = SendMessage(FillContext->hComboBox, CB_ADDSTRING, 0, (LPARAM)ProductName);
-  if(lres != CB_ERR)
-  {
-    /* save the index so we don't screw stuff when the combobox is sorted... */
-    SendMessage(FillContext->hComboBox, CB_SETITEMDATA, (WPARAM)lres, Id);
+    lres = SendMessage(FillContext->hComboBox,
+                       CB_ADDSTRING,
+                       0,
+                       (LPARAM)ProductName);
+    if (lres != CB_ERR)
+    {
+        /* save the index so we don't screw stuff when the combobox is sorted... */
+        SendMessage(FillContext->hComboBox,
+                    CB_SETITEMDATA,
+                    (WPARAM)lres,
+                    Id);
 
-    if(Id == FillContext->Selected)
-    {
-      SendMessage(FillContext->hComboBox, CB_SETCURSEL, (WPARAM)lres, 0);
+        if (Id == FillContext->Selected)
+        {
+            SendMessage(FillContext->hComboBox,
+                        CB_SETCURSEL,
+                        (WPARAM)lres,
+                        0);
+        }
     }
-  }
 
-  return TRUE;
+    return TRUE;
 }
 
 static INT_PTR CALLBACK
-DlgPreferencesProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
+DlgPreferencesProc(HWND hwndDlg,
+                   UINT uMsg,
+                   WPARAM wParam,
+                   LPARAM lParam)
 {
-  PPREFERENCES_CONTEXT Context;
+    PPREFERENCES_CONTEXT Context;
 
-  switch(uMsg)
-  {
-    case WM_COMMAND:
+    switch (uMsg)
     {
-      switch(LOWORD(wParam))
-      {
-        case IDOK:
-        case IDCANCEL:
+        case WM_COMMAND:
         {
-          EndDialog(hwndDlg, LOWORD(wParam));
-          break;
+            switch (LOWORD(wParam))
+            {
+                case IDOK:
+                case IDCANCEL:
+                {
+                    EndDialog(hwndDlg,
+                              LOWORD(wParam));
+                    break;
+                }
+            }
+            break;
         }
-      }
-      break;
-    }
 
-    case MM_MIXM_LINE_CHANGE:
-    {
-      DBG("MM_MIXM_LINE_CHANGE\n");
-      break;
-    }
+        case MM_MIXM_LINE_CHANGE:
+        {
+            DPRINT("MM_MIXM_LINE_CHANGE\n");
[truncated at 1000 lines; 617 more skipped]