I started now with the integration of the OSS and NetBSD audio drivers. Before I get too far, I would like to hear suggestions/criticisms.
1) I created the directory dlls/winmm/drvcommon (perhaps there is a better name ?) 2) moved dlls/winmm/wineoss/oss.c and dlls/winmm/winenbsd/nbsd.c to the single integrated file dlls/winmm/drvcommon/drv.c. 3) renamed the files dlls/winmm/wineoss/oss.h and dlls/winmm/winenbsd/nbsd.h to dlls/winmm/wineoss/drv.h and dlls/winmm/winenbsd/drv.h respectively. 4) Update the respective Makefile.in to use the integrated dlls/winmm/drvcommon/drv.c
The idea is that eventually winenbsd and wineoss only have the drv.h and the spec file. drv.h will define all driver specific names/functions. I must stress that I am only concerned with the OSS and NetBSD drivers at the moment.
Is this too much? Or can someone suggest a better solution?
Kind regards,
Yorick Hardy yha@na.rau.ac.za writes:
The idea is that eventually winenbsd and wineoss only have the drv.h and the spec file. drv.h will define all driver specific names/functions. I must stress that I am only concerned with the OSS and NetBSD drivers at the moment.
Any such solution needs to take into account all the drivers; we don't want a mechanism that will only work for a specific case, it will make things an even bigger mess.
Alexandre Julliard a écrit :
Yorick Hardy yha@na.rau.ac.za writes:
The idea is that eventually winenbsd and wineoss only have the drv.h and the spec file. drv.h will define all driver specific names/functions. I must stress that I am only concerned with the OSS and NetBSD drivers at the moment.
Any such solution needs to take into account all the drivers; we don't want a mechanism that will only work for a specific case, it will make things an even bigger mess.
don't also forget that we have two cases to take into account: - the audio interfaces themselves - the fact the same physical interface can be handled by various drivers (OSS & ALSA for example)
What I'd suggest is the scheme where, by default, all physical interfaces are reported thru all supported unix drivers (which mean that we could get duplicates, but the name should be self explanatory => Wine OSS #1, Wine Alsa #1...). Some registry magic would disable some entries if they are not needed by the end user (so that he/she could decide what to use, for example, force Alsa in all the cases, or never use alsa...)
A+
I thought to begin with the OSS and NetBSD drivers since I am most familiar with these. The intention was to integrate these drivers in such a way that it will be easier (although probably not trivial) to then bring the other drivers in.
Although short sighted, I intended to first consider the differences in OSS and NetBSD audio drivers and then see what is needed to support other drivers once I have successful integration of these two.
Of course, I am thankful for all the comments so far and hope I am skilled enough to satisfy everyone :-).
Any such solution needs to take into account all the drivers; we don't want a mechanism that will only work for a specific case, it will make things an even bigger mess.
Kind regards,