FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Problem with function Tone FWH 8.04
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Problem with function Tone FWH 8.04
Posted: Thu May 22, 2008 08:17 AM

Roger,

Thanks for your feedback,

Yes, that function uses the internal speaker

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 223
Joined: Thu Dec 01, 2005 03:34 PM
Problem with function Tone FWH 8.04
Posted: Thu May 22, 2008 01:53 PM

Confirmed: this "PRAGMA" solution works here on both internal and external speakers, and on XP Pro and Vista Home Premium.

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Problem with function Tone FWH 8.04
Posted: Thu May 22, 2008 04:25 PM

Roger,

Thanks for the info,

Could you please post a sample with the parameters that you supply to the function ? Thanks,

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 223
Joined: Thu Dec 01, 2005 03:34 PM
Problem with function Tone FWH 8.04
Posted: Thu May 22, 2008 09:07 PM
// The following procs provide various sounds which can be requested from
// anywhere in the app...


PROCEDURE Correct()
 tunes({ {392,2}, {523,2}, {880,2}, {1046,8} } )
RETURN

PROCEDURE Wrong()
 tunes( { {164,10} } )
RETURN

PROCEDURE TheFifth()
 tunes( { {392,2}, {392,2}, {392,2}, {311,8} } )
RETURN

PROCEDURE NannyBoo()
 tunes( { {196,4}, {196,4}, {164,4}, {220,4}, {196,8}, {164,8} } )
RETURN

PROCEDURE tunes(aSong)
 aeval(aSong, { | a | MYTONE(a[1], a[2]) } )
RETURN

#pragma BEGINDUMP

#include <hbapi.h>
#include <windows.h>

HB_FUNC( MYTONE )
{
   Beep( hb_parnl( 1 ), hb_parnl( 2 ) * 70 );
}

#pragma ENDDUMP
Posts: 223
Joined: Thu Dec 01, 2005 03:34 PM
Problem with function Tone FWH 8.04
Posted: Thu May 22, 2008 09:15 PM
Here it is again with a little explanation...

// The following procs provide various sounds which can be 
// requested from anywhere in the app...

// Here are 4 "songs", each of which can be requested...

PROCEDURE Correct()
 tunes({ {392,2}, {523,2}, {880,2}, {1046,8} } )
RETURN

PROCEDURE Wrong()
 tunes( { {164,10} } )
RETURN

PROCEDURE TheFifth()
 tunes( { {392,2}, {392,2}, {392,2}, {311,8} } )
RETURN

PROCEDURE NannyBoo()
 tunes( { {196,4}, {196,4}, {164,4}, {220,4}, {196,8}, {164,8} } )
RETURN

// Now here is where a song gets initially processed...

PROCEDURE tunes(aSong)
 aeval(aSong, { | a | MYTONE(a[1], a[2]) } )
RETURN

// And here is where the C code takes over to finish the job...

#pragma BEGINDUMP

#include <hbapi.h>
#include <windows.h>

HB_FUNC( MYTONE )
{
   Beep( hb_parnl( 1 ), hb_parnl( 2 ) * 70 );
}

#pragma ENDDUMP

Continue the discussion