Thanks - I'll take a look at the suggested bits of code. Incidentally I did try 
to get into C++ development and object-oriented design a while ago, but found 
that I get a lot more done in C (there are other things I now prefer about C 
but it's pointless for me to go into them here ;) )

I'm not really in a position to attend the Hackfest right now, and I can't 
guarantee how much progress I'll make so I don't want to promise anything and 
then produce nothing so I'm just thinking of getting a feel for how the new 
APIs are used, how they interact with other components etc. and see if I can 
work out how to implement them.

I'm in the #reactos and #reactos-dev IRC channels as 'silverblade', mostly to 
follow what's going on. If I have any more questions I'll ask :)


Andrew

-----Original Message-----
From: Ros-dev [mailto:[email protected]] On Behalf Of David Quintana 
(gigaherz)
Sent: Sunday, 9 August 2015 5:18 PM
To: ReactOS Development List <[email protected]>
Subject: Re: [ros-dev] Audio development

For COM classes in the context of ReactOS, I'd recomment the existing code in 
Shell components. for declaring and using COM classes from C, there's code 
coming from WINE that could serve as an example, and for proper COM done with 
C++, we have examples of both ATL-based COM such as the rshell module, and 
ATL-free COM such as the netshell dll.

If you can't visit the guys at the hackfest, feel free to pop into IRC, join 
#reactos and/or #reactos-dev @ Freenode, and we can guide you in realtime.

On 9 August 2015 at 17:06, Aleksey Bragin <[email protected]> wrote:
> Hi Andrew,
>
> that's very nice to hear from you and we all are pretty much excited 
> here at the ReactOS Hackfest in Aachen that you are interested in 
> audio development again!
> If you have a possibility - grab a ticket from London and come 
> straight away here, as the Hackfest lasts till 13th.
>
> I hope Johannes could give you an overview of that area.
>
> Regards,
> Aleksey Bragin
>
>
> On 09.08.2015 16:40, Andrew Greenwood wrote:
>
> Hi everyone,
>
>
>
> Some of you probably remember me. I was involved with trying to get 
> audio/sound implemented in ReactOS a few years ago.
>
>
>
> To be honest, my progress was rather poor, I managed to write a few 
> bits of code but never really had a proper understanding of kernel/OS 
> development or CPU/system architectures. Additionally, whilst I could 
> grasp how the multimedia APIs (MME) in NT4 worked, and how they 
> interacted with the drivers (audio device X opens device Y and writes 
> buffered data to it) for Windows 2000 and later, Kernel Streaming was 
> used which partly built on top of the older implementation but added a load 
> of new stuff.
>
>
>
> This complicated matters as firstly, KS uses COM (which I still 
> struggle to wrap my head around) in kernel-mode, secondly there were 
> multiple components involved between the application and the hardware 
> (wdmaud.drv -> wdmaud.sys
> -> ks.sys -> portcls.sys -> driver as far as I remember), and finally 
> -> I
> really struggled to find example code and thorough documentation 
> describing how it all worked.
>
>
>
> Ultimately I gave up with that and intended to move to another 
> platform to develop multimedia applications. Not much happened with that.
>
>
>
> I remember there were complaints from application developers over 
> Kernel Streaming offering poor latency – instead developers would turn 
> to other technologies such as ASIO or DirectSound. So for recent 
> versions of Windows (Vista onwards?) Microsoft implemented a new, 
> user-mode sound system
> (WASAPI) which again uses COM but is pretty nicely documented, with 
> code samples.
>
>
>
> Having done a little reading about this, it renewed my interest. It 
> still uses COM, and KS.SYS is still present (I assume for 
> compatibility?) but as a lot of this is implemented in user-space I 
> suspect it’d be easier to develop/test.
>
>
>
> Aside from this, over the past few years I’ve also gained a better 
> understanding of topics I didn’t know much about previously and I feel 
> more confident at being able to write lower-level stuff that works 
> properly. I’ve also developed more of a keen interest in how Windows works.
>
>
>
> So basically I’m considering implementing the current Windows audio 
> system in ReactOS. I’d imagine we don’t need to be too concerned about 
> audio drivers themselves (at least, initially) as vendors tend to 
> offer these and it’s not like we need sound immediately post-install!
>
>
>
> The only thing I really lack now is knowledge of how to implement COM 
> classes – at least, outside of using Visual Studio… Anyone got 
> recommended reading or example code for this?
>
>
>
>
>
> Andrew
>
>
>
>
> _______________________________________________
> Ros-dev mailing list
> [email protected]
> http://www.reactos.org/mailman/listinfo/ros-dev

_______________________________________________
Ros-dev mailing list
[email protected]
http://www.reactos.org/mailman/listinfo/ros-dev

_______________________________________________
Ros-dev mailing list
[email protected]
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to