Juergen Lock wrote: > On Fri, Mar 10, 2000 at 11:51:53PM -0600, David Elliott wrote: > > Juergen Lock wrote: > > > > > On Thu, Mar 09, 2000 at 09:39:05PM -0600, David Elliott wrote: > > > > Juergen Lock wrote: > > > > > > > > > In article <[EMAIL PROTECTED]> you write: > > > > > In any case, it was mentioned that you can instead use the Registry functions to > > read the key where wine stores it's config info. > > > Ah yes, the PROFILE_GetWineIniString now just calls the Reg*, thats true. > Okay, so I could cheat and use PROFILE_GetWineIniString or use the Reg functions. Alexandre probably wants people to start using the Reg functions though so that the code will compile without exporting functions like PROFILE_*. > > > Yeah.. I messed up on that ifdef linux. I'll send in a patch in a little bit > > (soon as I am done reading the rest of the mail). > > > Thanx! > Hnmmm.. as soon as CVS comes back up that will work. I guess that is what I get for deciding to switch to CVS instead of patching against the last release. Attached is a patch from me locally diffing it. I tested it by adding -Ulinux to the options in the Makefile. > > > Actually, I meant a registry setting as in the one that Wine creates dynamically > > at start up using the config file. I believe it was in > > HKLM\Software\Wine\Wine\sectionname\name == value. ... > > Ah ok, so you're still reading the config file, just via Reg* calls... > Actually right now I am not reading any config info, but I will be later. For now it seemed to me that there is not too much of a good reason not to have /proc/scsi/scsi enabled. And if there is a problem with the code that scans it, I'd rather see someone fix the code than override it in the wine.conf file. And since ASPI is Linux only anyways, reading /proc/scsi/scsi should work unless they have proc support disabled- which is just plain stupid if you have SCSI installed since the /dev/sg? devices are mapped to the devices in /proc/scsi/scsi (that is, device sga is the first entry in /proc/scsi/scsi, sgb is the second and so on). That even holds true if you remove and add devices dynamically. Which also means you could see a device from hostadapter 2 before hostadapter 0. Or target 3 before target 0. So the correct thing to do seems to be to parse this file first, and then go back to map host adapter+channel to controllers. > > Well if you're writing _audio_ CDs then you probably want cdrdao not > cdrecord. (actually cdrecord now has some DAO option too but i suspect > cdrdao may still work better, at least thats what i use. look here: > http://www.ping.de/sites/daneb/cdrdao.html) > Thanks... That looks a lot more promising.. I like the fact that it is written in C++ as well, since cdrecord did a poor job of OO in C. > > No TAO is only good for data CDs, i know that... :) > Well, you *CAN* make an audio CD in TAO mode.. but the question is.. do you want to? > > > I have sort of a hobby of cutting music for a friend of mine who owns a dance > > studio. > > Hmm pity you're so far away, i'd like to listen to what you're > cutting there... (I only have this new `hobby' of recording mixes off > the air, actually i'm just doing that as i type, and writing a CD at the > same time too.) > Yeah.. I haven't done anything really cool lately like loop and stuff. I mostly just do the basic take a piece out kind of thing. Occaisonally I pitch shift something for a better ending, or reuse a piece a couple of times. I particularly like the GoldWave interface (left click is beginning of selection, right click is end... hmm.. wonder where he got THAT idea from :) And actually, if you ever want to listen to stuff I can throw it up for download (I have a cable modem), with about 3 domain names pointing at it, and no I am not really squatting them, it's just that I thought they were cool and so I got 'em. (infinite-internet.{net,com} and luxurioushome.com). Well, luxurioushome.com we used to sell our old house, but the other two were going to be for a webhosting/design business that never flew (since there are so many cheap'n'crappy webdesigners out there is just no market for decent design). > > > So it is important to me to be able to create a perfect (that is > > DAO) Audio CD. The other thing I'd like to see working is GoldWave, the audio > > editor I use to do all the cutting. > > > Have you looked at Gmurf? http://www.epita.fr:8000/~epx/projets/gmurf/ > Looks like to do some cutting it may be enough, it only doesn't yet > work right on FreeBSD... > I have really gotten comfortable with Goldwave. Gmurf almost looks like it is trying to do too much (the Emacs of audio editing, I use VI myself). > > > Fortunately my SBLive is supported with open source drivers now, so I am > > seriously considering putting some effort into getting stuff like GoldWave and > > Cakewalk to work under Wine so I can play around making music like I used to. > > > Also windows programs like GoldWave and Cakewalk aren't cheap either, > right? > Goldwave is like $25 to register, I should probably do that too instead of using a keygen. Cakewalk Express has come with every sound card I have bought. I have also toyed with a few pirated copies of Pro Audio. I am thinking about buying it assuming I can get it to work under Wine, and interface with my Roland VS-880EX (nice hard disk recorder). Usually I buy a program if I like it and it suits my needs (and I can do it with a credit card on the net). [BIG SNIP] > > > > Supposedly the best implementation is CAM, which Linux does not do, but FreeBSD > > does (IIRC). I would love to see someone add code for CAM, but since I don't > > have a spare box laying around and really don't want to go through the hell that > > VMware presents, I'll have to pass on this one myself. > > Yes FreeBSD uses CAM, and i would say this is the way SCSI should be done. > Yeah it is. Now all we need is Linux/CAM, Solaris/CAM, etc... Actually, Linux/CAM would be a good idea anyway-- especially since it has support for making your hostadapter act like a target, that'd be usefull with my VS-880EX, slap another SCSI card in the machine and make it look like a CD-R or something. Hmm.. maybe sometime in kernel 2.6.x or 3.0.x. The FreeBSD could would be a good implementation reference I would bet too. One thing that really needs to happen first though is a /dev filesystem, so that we can have stuff like /dev/sg/hh/cc/tt/dd instead of the current mess. Although I think in FreeBSD there is only one device per hostadapter (that kind of sucks since you have to give a program full controller permissions to access just one device). -Dave P.S. Dude.. I dislike the VMS commandline, remember: Men are from Macs, Women are from VMS (userfriendly.org). Worse yet, my scool has an AXP running VMS and has been basically bought out by MS for all the new stuff.
--- wine/dlls/winaspi/aspi.c.orig Wed Mar 8 13:41:49 2000 +++ wine/dlls/winaspi/aspi.c Sat Mar 11 23:29:26 2000 @@ -144,6 +144,7 @@ return fd; } +#ifdef linux int SCSI_LinuxSetTimeout( int fd, int timeout ) { @@ -155,9 +156,10 @@ WARN("Could not set timeout errno=%d!\n",errno); } return retval; - } +#endif +#ifdef linux /* This function takes care of the write/read to the linux sg device. * It returns TRUE or FALSE and uses FILE_SetDosError() to convert * UNIX errno to Windows GetLastError(). The reason for that is that @@ -200,6 +202,7 @@ } return TRUE; } +#endif /* Internal functions */ struct LinuxProcScsiDevice
--- wine/dlls/winaspi/winescsi.h.orig Sat Mar 11 23:34:45 2000 +++ wine/dlls/winaspi/winescsi.h Sat Mar 11 23:29:57 2000 @@ -28,6 +28,16 @@ #define SG_SET_TIMEOUT 0x2201 #define SG_GET_TIMEOUT 0x2202 #define SCSI_DEFAULT_TIMEOUT 6000*5 /* 5 minutes */ + +int +SCSI_LinuxSetTimeout( int fd, int timeout ); + +BOOL +SCSI_LinuxDeviceIo( int fd, + struct sg_header * lpvInBuffer, DWORD cbInBuffer, + struct sg_header * lpvOutBuffer, DWORD cbOutBuffer, + LPDWORD lpcbBytesReturned ); + #endif @@ -44,15 +54,6 @@ int SCSI_OpenDevice( int h, int c, int t, int d ); -int -SCSI_LinuxSetTimeout( int fd, int timeout ); - -BOOL -SCSI_LinuxDeviceIo( int fd, - struct sg_header * lpvInBuffer, DWORD cbInBuffer, - struct sg_header * lpvOutBuffer, DWORD cbOutBuffer, - LPDWORD lpcbBytesReturned ); - BOOL SCSI_GetDeviceName(int h, int c, int t, int d, LPSTR devstr, LPDWORD lpcbData); @@ -95,9 +96,6 @@ }; typedef struct ASPI_DEVICE_INFO ASPI_DEVICE_INFO; - - - /*** End Miscellaneous crap ***/