Click here to Skip to main content
15,898,371 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: Wait for event versus while / do loop or timer – academic questions Pin
digitalspace.xjtu18-Oct-13 16:46
digitalspace.xjtu18-Oct-13 16:46 
AnswerRe: Wait for event versus while / do loop or timer – academic questions Pin
pasztorpisti19-Oct-13 4:30
pasztorpisti19-Oct-13 4:30 
GeneralRe: Wait for event versus while / do loop or timer – academic questions Pin
Vaclav_19-Oct-13 6:29
Vaclav_19-Oct-13 6:29 
GeneralRe: Wait for event versus while / do loop or timer – academic questions Pin
pasztorpisti19-Oct-13 7:22
pasztorpisti19-Oct-13 7:22 
AnswerRe: Wait for event versus while / do loop or timer – academic questions Pin
David Crow19-Oct-13 16:43
David Crow19-Oct-13 16:43 
GeneralRe: Wait for event versus while / do loop or timer – academic questions SOLVED Pin
Vaclav_20-Oct-13 5:33
Vaclav_20-Oct-13 5:33 
Questionrtp server using ffmpeg in VC++ Pin
CodingHell18-Oct-13 2:39
CodingHell18-Oct-13 2:39 
AnswerRe: rtp server using ffmpeg in VC++ Pin
PCuong198322-Oct-13 5:20
professionalPCuong198322-Oct-13 5:20 
GeneralRe: rtp server using ffmpeg in VC++ Pin
CodingHell22-Oct-13 18:45
CodingHell22-Oct-13 18:45 
QuestionCListCtrl subitem text not colored. Pin
Le@rner17-Oct-13 19:27
Le@rner17-Oct-13 19:27 
QuestionRe: CListCtrl subitem text not colored. Pin
David Crow18-Oct-13 4:13
David Crow18-Oct-13 4:13 
AnswerRe: CListCtrl subitem text not colored. Pin
Jochen Arndt18-Oct-13 5:37
professionalJochen Arndt18-Oct-13 5:37 
QuestionHow Draw default button MFC (BS_DEFPUSHBUTTON)? Pin
thanhtuan198917-Oct-13 18:08
thanhtuan198917-Oct-13 18:08 
QuestionWhy a HANDLE created by CreateFile can be assigned to an object Pin
digitalspace.xjtu17-Oct-13 5:07
digitalspace.xjtu17-Oct-13 5:07 
AnswerRe: Why a HANDLE created by CreateFile can be assigned to an object Pin
Albert Holguin17-Oct-13 5:20
professionalAlbert Holguin17-Oct-13 5:20 
GeneralRe: Why a HANDLE created by CreateFile can be assigned to an object Pin
digitalspace.xjtu17-Oct-13 5:33
digitalspace.xjtu17-Oct-13 5:33 
AnswerRe: Why a HANDLE created by CreateFile can be assigned to an object Pin
Chris Losinger17-Oct-13 5:25
professionalChris Losinger17-Oct-13 5:25 
GeneralRe: Why a HANDLE created by CreateFile can be assigned to an object Pin
digitalspace.xjtu17-Oct-13 5:35
digitalspace.xjtu17-Oct-13 5:35 
QuestionHow to generate DSA 512 bit KeyPair in VC++ 2010 Pin
IICTECH17-Oct-13 3:05
IICTECH17-Oct-13 3:05 
QuestionHow to Create Single Process in C++ Pin
Thong LeTrung16-Oct-13 6:40
Thong LeTrung16-Oct-13 6:40 
AnswerRe: How to Create Single Process in C++ Pin
Rajesh R Subramanian16-Oct-13 6:52
professionalRajesh R Subramanian16-Oct-13 6:52 
GeneralRe: How to Create Single Process in C++ Pin
Thong LeTrung16-Oct-13 6:58
Thong LeTrung16-Oct-13 6:58 
QuestionHow does this code with "event" functions? Pin
Vaclav_16-Oct-13 6:38
Vaclav_16-Oct-13 6:38 
Could someone tell me what is going on here? Please.

I am trying to output audio frequency using waveOutWrite. I am using callback function.
Works as expected.
Now I would like to output the audio using the “loop” parameter in the header.
The header sets WHDR_DONE flag when the loop is done.

Now I needed to “translate “ WHDR_DONE flag to the callabck WOM_DONE message for further processing .

I couldn't make the callback work on event so I used this.( I'll try it again).

<b>I have used this „event“ , it partially works but I have no idea why.</b>


HANDLE event;
event = CreateEvent(NULL, TRUE, FALSE, NULL);
DWORD dwWaitResult;


Callback function:

void CALLBACK C_AssynchPlay2::CallbackWaveOutProc(HWAVEOUT hwo,
UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2)
{
TRACE("\nvoid CALLBACK C_AssynchPlay2::CallbackWaveOutProc...");
if (uMsg == WOM_DONE)
{
AfxMessageBox("finished "); // gets here
return;
}



Output audio function:

bRC = TRUE;
TRACE("\nInitialize pcm %i ",i );
pcm[i].lFreq = Freq;
pcm[i].dDelay = 1; // Delay; must be < 1
pcm[i].whdr.dwFlags = WHDR_BEGINLOOP | WHDR_ENDLOOP ;
pcm[i].whdr.dwLoops = 5; // works

if(!pcm[i].C_CreateSinus())
TRACE("\nFailed pcm[i].C_CreateSinus() %i ", i );

HANDLE event;
event = CreateEvent(NULL, TRUE, FALSE, NULL);
DWORD dwWaitResult;

mmres = waveOutPrepareHeader(hwout, & pcm[i].whdr, sizeof(WAVEHDR));
if (mmres != MMSYSERR_NOERROR) {ASSERT(0); bOK = FALSE;}

mmres = waveOutWrite(hwout, & pcm[i].whdr, sizeof(WAVEHDR));

TRACE("\nWait event ");
dwWaitResult = WaitForSingleObject(event,INFINITE); //sets WOM_DONE in callback

From here this code never gets processed

TRACE("\nWait event OK ");
AfxMessageBox("Wait event.... ");
return bRC;

Many thanks for your help.

Cheers
Vaclav
AnswerRe: How does this code with "event" functions? Pin
Rajesh R Subramanian16-Oct-13 9:05
professionalRajesh R Subramanian16-Oct-13 9:05 
GeneralRe: How does this code with "event" functions? Pin
Vaclav_16-Oct-13 14:36
Vaclav_16-Oct-13 14:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.