Category : Windows 3.X Files
Archive   : SNDHACK.ZIP
Filename : FPASTE.C

 
Output of file : FPASTE.C contained in archive : SNDHACK.ZIP
#include
#include
#include "app.h"

/*
* Module: fpaste.c
*
* Contains: Function paste specific functions. Menu
* commands are handled here, and Function paste dialog box
* callback functions should be located here.
*
*/


/*********************************************************************/
/* Local Function Prototypes */
/*********************************************************************/

/*********************************************************************/
/* Local data and structures */
/*********************************************************************/

extern SndDef SndState;

static BOOL b;
static int rc;
static char rcmsg[80];
static char str[255];

/*********************************************************************/
/* Global functions */
/*********************************************************************/

/*-------------------------------------------------------------------*/
/* Function paste command processor */
/*-------------------------------------------------------------------*/

void PasteMenuCommand(hWnd, id)
HWND hWnd;
int id;
{
switch (id) {
case IDM_CLOSESOUND:
EditPutString("CloseSound();\r");
break;

case IDM_COUNTVOICENOTES:
GoDialogBox(hInst, "DlgCountVoiceNotes", hWnd, DlgCountVoiceNotes);
break;

case IDM_GETTHRESHOLDEVENT:
EditPutString("GetThresholdEvent();\r");
break;

case IDM_GETTHRESHOLDSTATUS:
EditPutString("GetThresholdStatus();\r");
break;

case IDM_OPENSOUND:
EditPutString("OpenSound();\r");
break;

case IDM_SETSOUNDNOISE:
GoDialogBox(hInst, "DlgSetSoundNoise", hWnd, DlgSetSoundNoise);
break;

case IDM_SETVOICEACCENT:
GoDialogBox(hInst, "DlgSetVoiceAccent", hWnd, DlgSetVoiceAccent);
break;

case IDM_SETVOICEENVELOPE:
GoDialogBox(hInst, "DlgSetVoiceEnvelope", hWnd, DlgSetVoiceEnvelope);
break;

case IDM_SETVOICENOTE:
GoDialogBox(hInst, "DlgSetVoiceNote", hWnd, DlgSetVoiceNote);
break;

case IDM_SETVOICEQUEUESIZE:
GoDialogBox(hInst, "DlgSetVoiceQueueSize", hWnd, DlgSetVoiceQueueSize);
break;

case IDM_SETVOICESOUND:
GoDialogBox(hInst, "DlgSetVoiceSound", hWnd, DlgSetVoiceSound);
break;

case IDM_SETVOICETHRESHOLD:
GoDialogBox(hInst, "DlgSetVoiceThreshold", hWnd, DlgSetVoiceThreshold);
break;

case IDM_STARTSOUND:
EditPutString("StartSound();\r");
break;

case IDM_STOPSOUND:
EditPutString("StopSound();\r");
break;

case IDM_SYNCALLVOICES:
EditPutString("SyncAllVoices();\r");
break;

case IDM_WAITSOUNDSTATE:
GoDialogBox(hInst, "DlgWaitSoundState", hWnd, DlgWaitSoundState);
break;

default:
break;
}
}


/*-------------------------------------------------------------------*/
/* CountVoiceNotes dialog box callback function */
/*-------------------------------------------------------------------*/

BOOL FAR PASCAL DlgCountVoiceNotes(hDlg, message, wParam, lParam)
HWND hDlg;
unsigned message;
WORD wParam;
LONG lParam;
{
static char fname[] = "CountVoiceNotes";

switch (message) {
case WM_COMMAND:
switch (wParam) {

case IDD_OK:
SndState.voice = GetDlgItemInt(hDlg, IDD_COUNTVOICENOTES_VOICE, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_COUNTVOICENOTES_VOICE));
MessageBeep(0);
return(FALSE);
}

wsprintf(str,"%s(%d);\r",
(LPSTR)fname,
SndState.voice);
EditPutString(str);

case IDD_CANCEL:
EndDialog(hDlg, NULL);
return(TRUE);

case IDD_HELP:
WinHelp(hDlg,HelpFileName,HELP_KEY,(DWORD)(LPSTR)fname);
return(TRUE);

default:
break;
}
return(FALSE);

case WM_INITDIALOG:
SetDlgItemInt(hDlg, IDD_COUNTVOICENOTES_VOICE, SndState.voice, TRUE);
break;

default:
return(FALSE);
}
return(TRUE);
}


/*-------------------------------------------------------------------*/
/* SetSoundNoise dialog box callback function */
/*-------------------------------------------------------------------*/

BOOL FAR PASCAL DlgSetSoundNoise(hDlg, message, wParam, lParam)
HWND hDlg;
unsigned message;
WORD wParam;
LONG lParam;
{
static char fname[] = "SetSoundNoise";
static char sourcestr[15];

switch (message) {
case WM_COMMAND:
switch (wParam) {

case IDD_OK:
GetDlgItemText(hDlg, IDD_SETSOUNDNOISE_SOURCE, sourcestr, sizeof(sourcestr)-1);
if (strcmp(sourcestr,"S_PERIOD512") == 0)
SndState.source = S_PERIOD512;
else if (strcmp(sourcestr,"S_PERIOD1024") == 0)
SndState.source = S_PERIOD1024;
else if (strcmp(sourcestr,"S_PERIOD2048") == 0)
SndState.source = S_PERIOD2048;
else if (strcmp(sourcestr,"S_PERIODVOICE") == 0)
SndState.source = S_PERIODVOICE;
else if (strcmp(sourcestr,"S_WHITE512") == 0)
SndState.source = S_WHITE512;
else if (strcmp(sourcestr,"S_WHITE1024") == 0)
SndState.source = S_WHITE1024;
else if (strcmp(sourcestr,"S_WHITE2048") == 0)
SndState.source = S_WHITE2048;
else if (strcmp(sourcestr,"S_WHITEVOICE") == 0)
SndState.source = S_WHITEVOICE;
else {
SetFocus(GetDlgItem(hDlg, IDD_SETSOUNDNOISE_SOURCE));
MessageBeep(0);
return(FALSE);
}
SndState.duration = GetDlgItemInt(hDlg, IDD_SETSOUNDNOISE_DURATION, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETSOUNDNOISE_DURATION));
MessageBeep(0);
return(FALSE);
}

wsprintf(str,"%s(%s, %d);\r",
(LPSTR)fname,
(LPSTR)sourcestr,
SndState.duration);
EditPutString(str);

case IDD_CANCEL:
EndDialog(hDlg, NULL);
return(TRUE);

case IDD_HELP:
WinHelp(hDlg,HelpFileName,HELP_KEY,(DWORD)(LPSTR)fname);
return(TRUE);

default:
break;
}
return(FALSE);

case WM_INITDIALOG:
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_ADDSTRING,0,(DWORD)((LPSTR)"S_PERIOD512"));
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_ADDSTRING,0,(DWORD)((LPSTR)"S_PERIOD1024"));
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_ADDSTRING,0,(DWORD)((LPSTR)"S_PERIOD2048"));
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_ADDSTRING,0,(DWORD)((LPSTR)"S_PERIODVOICE"));
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_ADDSTRING,0,(DWORD)((LPSTR)"S_WHITE512"));
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_ADDSTRING,0,(DWORD)((LPSTR)"S_WHITE1024"));
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_ADDSTRING,0,(DWORD)((LPSTR)"S_WHITE2048"));
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_ADDSTRING,0,(DWORD)((LPSTR)"S_WHITEVOICE"));
if (SndState.source == S_PERIOD512)
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_SELECTSTRING,0,(DWORD)((LPSTR)"S_PERIOD512"));
else if (SndState.source == S_PERIOD1024)
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_SELECTSTRING,0,(DWORD)((LPSTR)"S_PERIOD1024"));
else if (SndState.source == S_PERIOD2048)
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_SELECTSTRING,0,(DWORD)((LPSTR)"S_PERIOD2048"));
else if (SndState.source == S_PERIODVOICE)
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_SELECTSTRING,0,(DWORD)((LPSTR)"S_PERIODVOICE"));
else if (SndState.source == S_WHITE512)
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_SELECTSTRING,0,(DWORD)((LPSTR)"S_WHITE512"));
else if (SndState.source == S_WHITE1024)
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_SELECTSTRING,0,(DWORD)((LPSTR)"S_WHITE1024"));
else if (SndState.source == S_WHITE2048)
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_SELECTSTRING,0,(DWORD)((LPSTR)"S_WHITE2048"));
else {
SendDlgItemMessage(hDlg,IDD_SETSOUNDNOISE_SOURCE,CB_SELECTSTRING,0,(DWORD)((LPSTR)"S_WHITEVOICE"));
SndState.source = S_WHITEVOICE;
}
SetDlgItemInt(hDlg, IDD_SETSOUNDNOISE_DURATION, SndState.duration, TRUE);
break;

default:
return(FALSE);
}
return(TRUE);
}



/*-------------------------------------------------------------------*/
/* SetVoiceAccent dialog box callback function */
/*-------------------------------------------------------------------*/

BOOL FAR PASCAL DlgSetVoiceAccent(hDlg, message, wParam, lParam)
HWND hDlg;
unsigned message;
WORD wParam;
LONG lParam;
{
static char fname[] = "SetVoiceAccent";
static char modestr[11];

switch (message) {
case WM_COMMAND:
switch (wParam) {

case IDD_OK:
SndState.voice = GetDlgItemInt(hDlg, IDD_SETVOICEACCENT_VOICE, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICEACCENT_VOICE));
MessageBeep(0);
return(FALSE);
}
SndState.tempo = GetDlgItemInt(hDlg, IDD_SETVOICEACCENT_TEMPO, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICEACCENT_TEMPO));
MessageBeep(0);
return(FALSE);
}
SndState.volume = GetDlgItemInt(hDlg, IDD_SETVOICEACCENT_VOLUME, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICEACCENT_VOLUME));
MessageBeep(0);
return(FALSE);
}
GetDlgItemText(hDlg, IDD_SETVOICEACCENT_MODE, modestr, sizeof(modestr)-1);
if (strcmp(modestr,"S_LEGATO") == 0)
SndState.mode = S_LEGATO;
else if (strcmp(modestr,"S_NORMAL") == 0)
SndState.mode = S_NORMAL;
else if (strcmp(modestr,"S_STACCATO") == 0)
SndState.mode = S_STACCATO;
else {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICEACCENT_MODE));
MessageBeep(0);
return(FALSE);
}
SndState.pitch = GetDlgItemInt(hDlg, IDD_SETVOICEACCENT_PITCH, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICEACCENT_PITCH));
MessageBeep(0);
return(FALSE);
}

wsprintf(str,"%s(%d, %d, %d, %s, %d);\r",
(LPSTR)fname,
SndState.voice,
SndState.tempo,
SndState.volume,
(LPSTR)modestr,
SndState.pitch);
EditPutString(str);

case IDD_CANCEL:
EndDialog(hDlg, NULL);
return(TRUE);

case IDD_HELP:
WinHelp(hDlg,HelpFileName,HELP_KEY,(DWORD)(LPSTR)fname);
return(TRUE);

default:
break;
}
return(FALSE);

case WM_INITDIALOG:
SetDlgItemInt(hDlg, IDD_SETVOICEACCENT_VOICE, SndState.voice, TRUE);
SetDlgItemInt(hDlg, IDD_SETVOICEACCENT_TEMPO, SndState.tempo, TRUE);
SetDlgItemInt(hDlg, IDD_SETVOICEACCENT_VOLUME, SndState.volume, TRUE);
SendDlgItemMessage(hDlg,IDD_SETVOICEACCENT_MODE,CB_ADDSTRING,0,(DWORD)((LPSTR)"S_LEGATO"));
SendDlgItemMessage(hDlg,IDD_SETVOICEACCENT_MODE,CB_ADDSTRING,0,(DWORD)((LPSTR)"S_NORMAL"));
SendDlgItemMessage(hDlg,IDD_SETVOICEACCENT_MODE,CB_ADDSTRING,0,(DWORD)((LPSTR)"S_STACCATO"));
if (SndState.mode == S_LEGATO)
SendDlgItemMessage(hDlg,IDD_SETVOICEACCENT_MODE,CB_SELECTSTRING,0,(DWORD)((LPSTR)"S_LEGATO"));
else if (SndState.mode == S_STACCATO)
SendDlgItemMessage(hDlg,IDD_SETVOICEACCENT_MODE,CB_SELECTSTRING,0,(DWORD)((LPSTR)"S_STACCATO"));
else {
SendDlgItemMessage(hDlg,IDD_SETVOICEACCENT_MODE,CB_SELECTSTRING,0,(DWORD)((LPSTR)"S_NORMAL"));
SndState.mode = S_NORMAL;
}
SetDlgItemInt(hDlg, IDD_SETVOICEACCENT_PITCH, SndState.pitch, TRUE);
break;

default:
return(FALSE);
}
return(TRUE);
}


/*-------------------------------------------------------------------*/
/* SetVoiceEnvelope dialog box callback function */
/*-------------------------------------------------------------------*/

BOOL FAR PASCAL DlgSetVoiceEnvelope(hDlg, message, wParam, lParam)
HWND hDlg;
unsigned message;
WORD wParam;
LONG lParam;
{
static char fname[] = "SetVoiceEnvelope";

switch (message) {
case WM_COMMAND:
switch (wParam) {

case IDD_OK:
SndState.voice = GetDlgItemInt(hDlg, IDD_SETVOICEENVELOPE_VOICE, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICEENVELOPE_VOICE));
MessageBeep(0);
return(FALSE);
}
SndState.shape = GetDlgItemInt(hDlg, IDD_SETVOICEENVELOPE_SHAPE, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICEENVELOPE_SHAPE));
MessageBeep(0);
return(FALSE);
}
SndState.repeat = GetDlgItemInt(hDlg, IDD_SETVOICEENVELOPE_REPEAT, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICEENVELOPE_REPEAT));
MessageBeep(0);
return(FALSE);
}

wsprintf(str,"%s(%d, %d, %d);\r",
(LPSTR)fname,
SndState.voice,
SndState.shape,
SndState.repeat);
EditPutString(str);

case IDD_CANCEL:
EndDialog(hDlg, NULL);
return(TRUE);

case IDD_HELP:
WinHelp(hDlg,HelpFileName,HELP_KEY,(DWORD)(LPSTR)fname);
return(TRUE);

default:
break;
}
return(FALSE);

case WM_INITDIALOG:
SetDlgItemInt(hDlg, IDD_SETVOICEENVELOPE_VOICE, SndState.voice, TRUE);
SetDlgItemInt(hDlg, IDD_SETVOICEENVELOPE_SHAPE, SndState.shape, TRUE);
SetDlgItemInt(hDlg, IDD_SETVOICEENVELOPE_REPEAT, SndState.repeat, TRUE);
break;

default:
return(FALSE);
}
return(TRUE);
}

/*-------------------------------------------------------------------*/
/* SetVoiceNote dialog box callback function */
/*-------------------------------------------------------------------*/

BOOL FAR PASCAL DlgSetVoiceNote(hDlg, message, wParam, lParam)
HWND hDlg;
unsigned message;
WORD wParam;
LONG lParam;
{
static char fname[] = "SetVoiceNote";
static char notestr[5];

switch (message) {
case WM_COMMAND:
switch (wParam) {

case IDD_OK:
SndState.voice = GetDlgItemInt(hDlg, IDD_SETVOICENOTE_VOICE, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICENOTE_VOICE));
MessageBeep(0);
return(FALSE);
}
GetDlgItemText(hDlg, IDD_SETVOICENOTE_VALUE, notestr, sizeof(notestr)-1);
b = PlayNoteConvert(notestr,&SndState.value);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICENOTE_VALUE));
MessageBeep(0);
return(FALSE);
}
SndState.length = GetDlgItemInt(hDlg, IDD_SETVOICENOTE_LENGTH, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICENOTE_LENGTH));
MessageBeep(0);
return(FALSE);
}
SndState.cdots = GetDlgItemInt(hDlg, IDD_SETVOICENOTE_CDOTS, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICENOTE_CDOTS));
MessageBeep(0);
return(FALSE);
}

wsprintf(str,"%s(%d, %d, %d, %d);\r",
(LPSTR)fname,
SndState.voice,
SndState.value,
SndState.length,
SndState.cdots);
EditPutString(str);

case IDD_CANCEL:
EndDialog(hDlg, NULL);
return(TRUE);

case IDD_HELP:
WinHelp(hDlg,HelpFileName,HELP_KEY,(DWORD)(LPSTR)fname);
return(TRUE);

default:
break;
}
return(FALSE);

case WM_INITDIALOG:
SetDlgItemInt(hDlg, IDD_SETVOICENOTE_VOICE, SndState.voice, TRUE);
SetDlgItemInt(hDlg, IDD_SETVOICENOTE_VALUE, SndState.value, TRUE);
SetDlgItemInt(hDlg, IDD_SETVOICENOTE_LENGTH, SndState.length, TRUE);
SetDlgItemInt(hDlg, IDD_SETVOICENOTE_CDOTS, SndState.cdots, TRUE);
break;

default:
return(FALSE);
}
return(TRUE);
}

/*-------------------------------------------------------------------*/
/* SetVoiceQueueSize dialog box callback function */
/*-------------------------------------------------------------------*/

BOOL FAR PASCAL DlgSetVoiceQueueSize(hDlg, message, wParam, lParam)
HWND hDlg;
unsigned message;
WORD wParam;
LONG lParam;
{
static char fname[] = "SetVoiceQueueSize";

switch (message) {
case WM_COMMAND:
switch (wParam) {

case IDD_OK:
SndState.voice = GetDlgItemInt(hDlg, IDD_SETVOICEQUEUESIZE_VOICE, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICEQUEUESIZE_VOICE));
MessageBeep(0);
return(FALSE);
}
SndState.qsize= GetDlgItemInt(hDlg, IDD_SETVOICEQUEUESIZE_QSIZE, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICEQUEUESIZE_QSIZE));
MessageBeep(0);
return(FALSE);
}

wsprintf(str,"%s(%d, %d);\r",
(LPSTR)fname,
SndState.voice,
SndState.qsize);
EditPutString(str);

case IDD_CANCEL:
EndDialog(hDlg, NULL);
return(TRUE);

case IDD_HELP:
WinHelp(hDlg,HelpFileName,HELP_KEY,(DWORD)(LPSTR)fname);
return(TRUE);

default:
break;
}
return(FALSE);

case WM_INITDIALOG:
SetDlgItemInt(hDlg, IDD_SETVOICEQUEUESIZE_VOICE, SndState.voice, TRUE);
SetDlgItemInt(hDlg, IDD_SETVOICEQUEUESIZE_QSIZE, SndState.qsize, TRUE);
break;

default:
return(FALSE);
}
return(TRUE);
}


/*-------------------------------------------------------------------*/
/* SetVoiceSound dialog box callback function */
/*-------------------------------------------------------------------*/

BOOL FAR PASCAL DlgSetVoiceSound(hDlg, message, wParam, lParam)
HWND hDlg;
unsigned message;
WORD wParam;
LONG lParam;
{
static char fname[] = "SetVoiceSound";

switch (message) {
case WM_COMMAND:
switch (wParam) {

case IDD_OK:
SndState.voice = GetDlgItemInt(hDlg, IDD_SETVOICESOUND_VOICE, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICESOUND_VOICE));
MessageBeep(0);
return(FALSE);
}
SndState.frequency = GetDlgItemInt(hDlg, IDD_SETVOICESOUND_FREQUENCY, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICESOUND_FREQUENCY));
MessageBeep(0);
return(FALSE);
}
SndState.fraction = GetDlgItemInt(hDlg, IDD_SETVOICESOUND_FRACTION, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICESOUND_FRACTION));
MessageBeep(0);
return(FALSE);
}
SndState.duration = GetDlgItemInt(hDlg, IDD_SETVOICESOUND_DURATION, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICESOUND_DURATION));
MessageBeep(0);
return(FALSE);
}

SndState.lfreq = ((LONG)SndState.frequency << 16) + SndState.fraction;
wsprintf(str,"%s(%d, 0x%lx, %d);\r",
(LPSTR)fname,
SndState.voice,
SndState.lfreq,
SndState.duration);
EditPutString(str);

case IDD_CANCEL:
EndDialog(hDlg, NULL);
return(TRUE);

case IDD_HELP:
WinHelp(hDlg,HelpFileName,HELP_KEY,(DWORD)(LPSTR)fname);
return(TRUE);

default:
break;
}
return(FALSE);

case WM_INITDIALOG:
SetDlgItemInt(hDlg, IDD_SETVOICESOUND_VOICE, SndState.voice, TRUE);
SetDlgItemInt(hDlg, IDD_SETVOICESOUND_FREQUENCY, SndState.frequency, TRUE);
SetDlgItemInt(hDlg, IDD_SETVOICESOUND_FRACTION, SndState.fraction, TRUE);
SetDlgItemInt(hDlg, IDD_SETVOICESOUND_DURATION, SndState.duration, TRUE);
break;

default:
return(FALSE);
}
return(TRUE);
}

/*-------------------------------------------------------------------*/
/* SetVoiceThreshold dialog box callback function */
/*-------------------------------------------------------------------*/

BOOL FAR PASCAL DlgSetVoiceThreshold(hDlg, message, wParam, lParam)
HWND hDlg;
unsigned message;
WORD wParam;
LONG lParam;
{
static char fname[] = "SetVoiceThreshold";

switch (message) {
case WM_COMMAND:
switch (wParam) {

case IDD_OK:
SndState.voice = GetDlgItemInt(hDlg, IDD_SETVOICETHRESHOLD_VOICE, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICETHRESHOLD_VOICE));
MessageBeep(0);
return(FALSE);
}
SndState.tcount = GetDlgItemInt(hDlg, IDD_SETVOICETHRESHOLD_TCOUNT, &b, FALSE);
if (!b) {
SetFocus(GetDlgItem(hDlg, IDD_SETVOICETHRESHOLD_TCOUNT));
MessageBeep(0);
return(FALSE);
}

wsprintf(str,"%s(%d, %d);\r",
(LPSTR)fname,
SndState.voice,
SndState.tcount);
EditPutString(str);

case IDD_CANCEL:
EndDialog(hDlg, NULL);
return(TRUE);

case IDD_HELP:
WinHelp(hDlg,HelpFileName,HELP_KEY,(DWORD)(LPSTR)fname);
return(TRUE);

default:
break;
}
return(FALSE);

case WM_INITDIALOG:
SetDlgItemInt(hDlg, IDD_SETVOICETHRESHOLD_VOICE, SndState.voice, TRUE);
SetDlgItemInt(hDlg, IDD_SETVOICETHRESHOLD_TCOUNT, SndState.tcount, TRUE);
break;

default:
return(FALSE);
}
return(TRUE);
}

/*-------------------------------------------------------------------*/
/* WaitSoundState dialog box callback function */
/*-------------------------------------------------------------------*/

BOOL FAR PASCAL DlgWaitSoundState(hDlg, message, wParam, lParam)
HWND hDlg;
unsigned message;
WORD wParam;
LONG lParam;
{
static char fname[] = "WaitSoundState";
static char waitstr[15];

switch (message) {
case WM_COMMAND:
switch (wParam) {

case IDD_OK:
GetDlgItemText(hDlg, IDD_WAITSOUNDSTATE_STATE, waitstr, sizeof(waitstr)-1);
if (strcmp(waitstr,"S_ALLTHRESHOLD") == 0)
SndState.waitstate = S_ALLTHRESHOLD;
else if (strcmp(waitstr,"S_QUEUEEMPTY") == 0)
SndState.waitstate = S_QUEUEEMPTY;
else if (strcmp(waitstr,"S_THRESHOLD") == 0)
SndState.waitstate = S_THRESHOLD;
else {
SetFocus(GetDlgItem(hDlg, IDD_WAITSOUNDSTATE_STATE));
MessageBeep(0);
return(FALSE);
}

wsprintf(str,"%s(%s);\r",
(LPSTR)fname,
(LPSTR)waitstr);
EditPutString(str);

case IDD_CANCEL:
EndDialog(hDlg, NULL);
return(TRUE);

case IDD_HELP:
WinHelp(hDlg,HelpFileName,HELP_KEY,(DWORD)(LPSTR)fname);
return(TRUE);

default:
break;
}
return(FALSE);

case WM_INITDIALOG:
SendDlgItemMessage(hDlg,IDD_WAITSOUNDSTATE_STATE,CB_ADDSTRING,0,(DWORD)((LPSTR)"S_ALLTHRESHOLD"));
SendDlgItemMessage(hDlg,IDD_WAITSOUNDSTATE_STATE,CB_ADDSTRING,0,(DWORD)((LPSTR)"S_QUEUEEMPTY"));
SendDlgItemMessage(hDlg,IDD_WAITSOUNDSTATE_STATE,CB_ADDSTRING,0,(DWORD)((LPSTR)"S_THRESHOLD"));
if (SndState.waitstate == S_ALLTHRESHOLD)
SendDlgItemMessage(hDlg,IDD_WAITSOUNDSTATE_STATE,CB_SELECTSTRING,0,(DWORD)((LPSTR)"S_ALLTHRESHOLD"));
else if (SndState.waitstate == S_THRESHOLD)
SendDlgItemMessage(hDlg,IDD_WAITSOUNDSTATE_STATE,CB_SELECTSTRING,0,(DWORD)((LPSTR)"S_THRESHOLD"));
else {
SendDlgItemMessage(hDlg,IDD_WAITSOUNDSTATE_STATE,CB_SELECTSTRING,0,(DWORD)((LPSTR)"S_QUEUEEMPTY"));
SndState.waitstate = S_QUEUEEMPTY;
}
break;

default:
return(FALSE);
}
return(TRUE);
}


  3 Responses to “Category : Windows 3.X Files
Archive   : SNDHACK.ZIP
Filename : FPASTE.C

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/