Home | Info | Community | Development | myReactOS

  1. Home
  2. Info
  3. Community
  4. Development
  5. myReactOS

  1. Overview
  2. People of ReactOS
  3. Forums
  4. Wiki
  5. Mailing Lists
  6. IRC Channels
  7. Newsletters
  8. Blogs
  9. User FAQ

Community > ReactOS Newsletter Archive > ReactOS Newsletter: Newsletter 43

ReactOS Newsletter - Newsletter 43 (#43)

RSS 2.0 News Feed
Atom 1.0 News Feed

by Z98 on 2008-07-16

top

0.3.5 Release

Obviously the release has gone out and we are receiving the usual reports of problems and successes. The biggest problem seems to be an issue people are having with Qemu on Vista, at least the Qemu version we prepackaged. This is not really a problem with ReactOS itself, but with the emulator software. For people who have encountered this, we suggest using the 0.9.0 builds instead of the 0.9.1 Qemu builds we provide, or using an unoffical 0.9.1 Qemu build located here: http://qemu-forum.ipi.fi/viewtopic.php?f=5&t=4363.

Another issue would be the browsing problem in Firefox, where you need to move the mouse to load things. This is an old bug, one that was never squashed because we still do not know the exact cause. Yes it is annoying, but the complexity of it means it will still be with us for quite some time.

top

Sound

One of the most sought after features for ReactOS would be sound support, if only because everyone thinks it is intrinsically part of the OS. Andrew Greenwood, the developer nominally responsible for sound development, has spent the last few years mostly researching and learning about the Windows audio system. He has recently made a series of commits that show the fruits of his labor and today I'll go over what has been done and what he intends.

Currently Andrew is working on the user mode components of the sound system. There are three that we need, one of which is the MME API stored in winmm.dll. Fortunately, Wine has already implemented this DLL and Andrew has modified it to remove dependencies on Wine specific items. What ReactOS does not have are two other DLLs, mmdrv.dll and sndblst.dll.

In Windows NT4, there were two files that were responsible for sound, mmdrv.dll and sndblst.dll. mmdrv.dll is a generic low level DLL to provide support for sound drivers, whereas sndblst.dll provides support for Sound Blaster based drivers. The two DLLs share a large amount of functionality so Andrew will implement them in a common library. This library, called MME buddy for the time being, is intended to provide support for not only the two DLLs, but also plug 'n play functionality as well. This is still the first step, as the library is completely in user mode. Another library will have be developed on the kernel mode side, along with the actual sound driver. Essentially, MME buddy will find the sound devices and make use of them, while the driver itself will create those devices. Currently Andrew is working on getting wave-out to work, meaning things like sound recording, mixing, and even MIDI support will come much later.

I'm sure some of you are taking note of the fact I said NT4 in the previous paragraph, not XP or even 2000. This is because every successive version of NT builds in the sound system of its predecessor. The major addition in 2000 and XP is kernel streaming, which will be a fair bit of work by itself. However, the basic functionality found in NT4 will obviously be needed, as kernel streaming simply provides a path to the sound devices. The user mode components and KS are connected together by WDMAUD, another item that will need to be developed later on. We obviously have a long way to go, but with this approach, at least we're seeing actual code.

Additionally, while sndblst.dll will work with sound cards based off of the Sound Blaster architecture, others are based off of ac97 and the like. This means Andrew will likely need to implement additional stuff to support ac97.

top

Win32

For a change of pace, Jim Tabor has begun working on the user32.dll code and began looking at Bug #2451. Simplistically, there seems to be a problem with minimizing and restoring windows. From his investigation, it seems the code in user32 is very old Wine code, around six years old. As such, it does some fairly weird things, including using SetWindowPlacement instead of ShowWindow. This is turned out to be surprisingly difficult to fix, necessitating digging into Firefox's code to see exactly what it was doing.

For those of you curious what he was working on previously, it was enhanced metafile support in gdi32. Metafile are a graphics format originally introduced in Windows 3.0, at 16bits. The enhanced metafile format is 32bit.

top

Inno Setup

Inno Setup is another installer system similar to NSIS, MSI, and InstallShield. There are quite a few applications that make use of it and recently several fixes applied to the Runtime Library have removed blockers that kept Inno Setup from working properly, so applications using it can now at least install. This does not guarantee that they will run after the install however, though some of the ones tested did work. Pierre Schweitzer managed to get LBreakout2 to work, a rather addictive game, while Aleksey Bragin got XnView, a photo and image viewer, to work.

top

Sourceforge Community Choice Awards

ReactOS actually is a Sourceforge project, as we use them to host releases. Anyway, the Community Choice Awards are currently going on and ReactOS has been nominated in three categories: Most Likely to Change the World, Most Likely to be Accused of Patent Violation, and Most Likely to Get Users Sued. I guess what they say is true. In order to achieve greatness, one must accept great risks. So go out there and vote for us in those categories! Don't worry, any publicity is good publicity.

top

ReactOS Project Coordinator: Aleksey Bragin nick: fireball, Website Coordinator: Klemens Friedl nick: frik85

Edit page content (RosCMS translator account membership required, visit the website forum for help)


ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.