gianni
11-14-2001, 05:21 AM
I'm here with a new question.
I'm trying to use DSound as fast and effective as I can: what I have in mind is a sort of synth with a short response time (no more than a few tens of milliseconds). So now I'm trying to write directly into the Primary Buffer: it should give less CPU load and less average distance between write and play cursors (I've seen this behaviour on two different PCs: a 233 MMX and a P III 733). To do that I use the method SetCooperativeLevel with the DSSCL_WRITEPRIMARY option.
And here comes the problem: when testing inside the debugging environment, it works. When instead I compile and run the executable, the method gets the runtime error 887800a0 ("DSERR_OTHERAPPHASPRIO - Another application has a higher priority level, preventing this call from succeeding").
I have the suspicion that the "higher priority level" application is the standard Win98 mixer.
Does anyone have ideas to overcome this problem?
I'm trying to use DSound as fast and effective as I can: what I have in mind is a sort of synth with a short response time (no more than a few tens of milliseconds). So now I'm trying to write directly into the Primary Buffer: it should give less CPU load and less average distance between write and play cursors (I've seen this behaviour on two different PCs: a 233 MMX and a P III 733). To do that I use the method SetCooperativeLevel with the DSSCL_WRITEPRIMARY option.
And here comes the problem: when testing inside the debugging environment, it works. When instead I compile and run the executable, the method gets the runtime error 887800a0 ("DSERR_OTHERAPPHASPRIO - Another application has a higher priority level, preventing this call from succeeding").
I have the suspicion that the "higher priority level" application is the standard Win98 mixer.
Does anyone have ideas to overcome this problem?