Exemplo n.º 1
0
LRESULT CALLBACK DeviationDlgHandler(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    static bool init;
    DEVIATIONOBJ * st;

    st = (DEVIATIONOBJ *) actobject;
    if ((st==NULL)||(st->type!=OB_DEVIATION)) return(FALSE);

    switch( message )
    {
    case WM_INITDIALOG:

        SCROLLINFO lpsi;
        lpsi.cbSize=sizeof(SCROLLINFO);
        lpsi.fMask=SIF_RANGE|SIF_POS;
        lpsi.nMin=1;
        lpsi.nMax=NUMSAMPLES - 1;
        SetScrollInfo(GetDlgItem(hDlg,IDC_DEVIATIONINTERVALBAR),SB_CTL,&lpsi, TRUE);

        init = true;

        SetScrollPos(GetDlgItem(hDlg,IDC_DEVIATIONINTERVALBAR), SB_CTL,st->interval, TRUE);
        SetDlgItemInt(hDlg, IDC_DEVIATIONINTERVAL, st->interval, FALSE);

        init = false;
        break;
    case WM_CLOSE:
        EndDialog(hDlg, LOWORD(wParam));
        return TRUE;
        break;
    case WM_COMMAND:
        return TRUE;
        break;
    case WM_HSCROLL:
    {
        int nNewPos;
        if (!init && (nNewPos = get_scrollpos(wParam,lParam)) >= 0)
        {
            if (lParam == (long) GetDlgItem(hDlg,IDC_DEVIATIONINTERVALBAR))
            {
                SetDlgItemInt(hDlg, IDC_DEVIATIONINTERVAL, nNewPos, TRUE);
                st->change_interval(nNewPos);
            }
        }
        break;
    }
    case WM_SIZE:
    case WM_MOVE:
        update_toolbox_position(hDlg);
        break;
        return(TRUE);
    }
    return FALSE;
}
Exemplo n.º 2
0
LRESULT CALLBACK ThresholdDlgHandler( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
	static int init;
	char temp[100];
	THRESHOLDOBJ * st;
	int x;
	
	st = (THRESHOLDOBJ *) actobject;
    if ((st==NULL)||(st->type!=OB_THRESHOLD)) return(FALSE);

	for (x=0;x<GLOBAL.objects;x++) if (objects[x]==actobject) 
	{ char tmp[10]; wsprintf(tmp,"%d",x); 
	  //SendDlgItemMessage(ghWndStatusbox,IDC_LISTE,LB_ADDSTRING, 0, (LPARAM)(tmp)); 
	}
					

	switch( message )
	{
		case WM_INITDIALOG:
			{
				SCROLLINFO lpsi;
				
				
				lpsi.cbSize=sizeof(SCROLLINFO);
				lpsi.fMask=SIF_RANGE; // |SIF_POS;
				
				lpsi.nMin=1; lpsi.nMax=1000;
				SetScrollInfo(GetDlgItem(hDlg,IDC_AVGINTERVALBAR),SB_CTL,&lpsi,TRUE);
				SetScrollInfo(GetDlgItem(hDlg,IDC_ADAPTINTERVALBAR),SB_CTL,&lpsi,TRUE);

				lpsi.nMin=-1000; lpsi.nMax=1000;
				SetScrollInfo(GetDlgItem(hDlg,IDC_AVGGAINBAR),SB_CTL,&lpsi,TRUE);

				lpsi.nMin=0; lpsi.nMax=1000;
				SetScrollInfo(GetDlgItem(hDlg,IDC_AVGFROMBAR),SB_CTL,&lpsi,TRUE);
				SetScrollInfo(GetDlgItem(hDlg,IDC_AVGTOBAR),SB_CTL,&lpsi,TRUE);

				lpsi.nMin=0; lpsi.nMax=100;
				SetScrollInfo(GetDlgItem(hDlg,IDC_BARSIZEBAR),SB_CTL,&lpsi,TRUE);
				SetScrollInfo(GetDlgItem(hDlg,IDC_FONTSIZEBAR),SB_CTL,&lpsi,TRUE);

				init=TRUE;
				SetDlgItemInt(hDlg, IDC_AVGINTERVAL, st->interval_len,TRUE);
				SetDlgItemInt(hDlg, IDC_ADAPTINTERVAL, st->adapt_interval,TRUE);
				SetScrollPos(GetDlgItem(hDlg,IDC_AVGINTERVALBAR), SB_CTL,st->interval_len,TRUE);
				SetScrollPos(GetDlgItem(hDlg,IDC_ADAPTINTERVALBAR), SB_CTL,st->adapt_interval,TRUE);

				SetDlgItemInt(hDlg, IDC_AVGGAIN, st->signal_gain,1);
				SetScrollPos(GetDlgItem(hDlg,IDC_AVGGAINBAR), SB_CTL,st->signal_gain,TRUE);

				SetDlgItemInt(hDlg, IDC_BARSIZE, st->barsize,0);
				SetScrollPos(GetDlgItem(hDlg,IDC_BARSIZEBAR), SB_CTL,st->barsize,TRUE);
				SetDlgItemInt(hDlg, IDC_FONTSIZE, st->fontsize,0);
				SetScrollPos(GetDlgItem(hDlg,IDC_FONTSIZEBAR), SB_CTL,st->fontsize,TRUE);

				sprintf(temp,"%.2f",st->from_input);
				SetDlgItemText(hDlg, IDC_AVGFROM, temp);
				SetScrollPos(GetDlgItem(hDlg,IDC_AVGFROMBAR), SB_CTL,(int) size_value(st->in_ports[0].in_min,st->in_ports[0].in_max, st->from_input ,0.0f,1000.0f,0),TRUE);

				sprintf(temp,"%.2f",st->to_input);
				SetDlgItemText(hDlg, IDC_AVGTO, temp);
				SetScrollPos(GetDlgItem(hDlg,IDC_AVGTOBAR), SB_CTL,(int) size_value(st->in_ports[0].in_min,st->in_ports[0].in_max, st->to_input ,0.0f,1000.0f,0),TRUE);

				SetDlgItemInt(hDlg, IDC_BIGADAPT, st->bigadapt,TRUE);
				SetDlgItemInt(hDlg, IDC_SMALLADAPT, st->smalladapt,TRUE);

				SetDlgItemText(hDlg, IDC_METERCAPTION, st->wndcaption);

				CheckDlgButton(hDlg, IDC_AND,st->op);
				CheckDlgButton(hDlg, IDC_OR,!st->op);
				CheckDlgButton(hDlg, IDC_SHOWMETER,st->showmeter);
				CheckDlgButton(hDlg, IDC_RISING,st->rising);
				CheckDlgButton(hDlg, IDC_FALLING,st->falling);
				CheckDlgButton(hDlg, IDC_USE_MEDIAN,st->usemedian);
				CheckDlgButton(hDlg, IDC_BASELINE,st->baseline);
				if (st->baseline) SetDlgItemText(hDlg,IDC_INTERVALUNIT,"Seconds");
				else SetDlgItemText(hDlg,IDC_INTERVALUNIT,"Samples");

				init=FALSE;
			}
			return TRUE;
	
		case WM_CLOSE:
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			break;
		case WM_COMMAND:
			switch (LOWORD(wParam)) 
			{
			case IDC_AND: st->op=TRUE; break;
			case IDC_OR:  st->op=FALSE; break;
			case IDC_RISING: st->rising=IsDlgButtonChecked(hDlg,IDC_RISING); break;
			case IDC_FALLING: st->falling=IsDlgButtonChecked(hDlg,IDC_FALLING); break;
			case IDC_USE_MEDIAN: st->usemedian=IsDlgButtonChecked(hDlg,IDC_USE_MEDIAN); break;
			case IDC_BASELINE: st->baseline=IsDlgButtonChecked(hDlg,IDC_BASELINE); 
				if (st->baseline) SetDlgItemText(hDlg,IDC_INTERVALUNIT,"Seconds");
				else SetDlgItemText(hDlg,IDC_INTERVALUNIT,"Samples");
				break;
			case IDC_SELECTCOLOR:
				st->color=select_color(hDlg,st->color);
				st->redraw=1;
				InvalidateRect(hDlg,NULL,FALSE);
				break;
			case IDC_BKCOLOR:
				st->bkcolor=select_color(hDlg,st->bkcolor);
				st->redraw=1;
				InvalidateRect(hDlg,NULL,FALSE);
				break;
			case IDC_FONTCOL:
				st->fontcolor=select_color(hDlg,st->fontcolor);
				st->redraw=1;
				InvalidateRect(hDlg,NULL,FALSE);
				break;
			case IDC_FONTBKCOL:
				st->fontbkcolor=select_color(hDlg,st->fontbkcolor);
				st->redraw=1;
				InvalidateRect(hDlg,NULL,FALSE);
				break;

			case IDC_AVGFROM:
				GetDlgItemText(hDlg, IDC_AVGFROM,temp,sizeof(temp));
				if (!init)	
					 st->from_input=(float)atof(temp);
				break;
			case IDC_AVGTO:
				GetDlgItemText(hDlg, IDC_AVGTO,temp,sizeof(temp));
				if (!init) 
					st->to_input=(float)atof(temp);
				break;
			case IDC_AVGINTERVAL:
			case IDC_ADAPTINTERVAL:
			case IDC_AVGGAIN:
			case IDC_BIGADAPT:
			case IDC_SMALLADAPT:
			case IDC_METERCAPTION:
				 if (!init) 
					 apply_threshold(hDlg, st);
					break;

			
			case IDC_SHOWMETER:
				{  int i;
				   i=IsDlgButtonChecked(hDlg,IDC_SHOWMETER);
				   if ((st->showmeter)&&(!i)&&(st->displayWnd))  { DestroyWindow(st->displayWnd); st->displayWnd=NULL; }
				   if ((!st->showmeter)&&(i)) 
				   {  
					   if(!(st->displayWnd=CreateWindow("Meter_Class", st->wndcaption, WS_CLIPSIBLINGS| WS_CHILD | WS_CAPTION | WS_THICKFRAME ,st->left, st->top, st->right-st->left, st->bottom-st->top, ghWndMain, NULL, hInst, NULL)))
							report_error("can't create Meter Window");
					   else { st->last_value=0; ShowWindow( st->displayWnd, TRUE ); UpdateWindow( st->displayWnd ); }
				   }
				   st->showmeter=i;
				}
				break;

			}
			return TRUE;
			
		case WM_HSCROLL:
		{
			int nNewPos; float x;

			nNewPos=get_scrollpos(wParam,lParam);

			if (lParam == (long) GetDlgItem(hDlg,IDC_AVGINTERVALBAR))  SetDlgItemInt(hDlg, IDC_AVGINTERVAL,nNewPos,0);
			if (lParam == (long) GetDlgItem(hDlg,IDC_ADAPTINTERVALBAR))  SetDlgItemInt(hDlg, IDC_ADAPTINTERVAL,nNewPos,0);
			if (lParam == (long) GetDlgItem(hDlg,IDC_AVGGAINBAR))  SetDlgItemInt(hDlg, IDC_AVGGAIN,nNewPos,TRUE);
			if (lParam == (long) GetDlgItem(hDlg,IDC_BARSIZEBAR))  SetDlgItemInt(hDlg, IDC_BARSIZE,nNewPos,TRUE);
			if (lParam == (long) GetDlgItem(hDlg,IDC_FONTSIZEBAR))  SetDlgItemInt(hDlg, IDC_FONTSIZE,nNewPos,TRUE);
			if (lParam == (long) GetDlgItem(hDlg,IDC_AVGFROMBAR))
			{  
				  x=size_value(0.0f,1000.0f,(float)nNewPos,st->in_ports[0].in_min,st->in_ports[0].in_max,0);
				  sprintf(temp,"%.2f",x);
				  SetDlgItemText(hDlg, IDC_AVGFROM, temp);

			}
			if (lParam == (long) GetDlgItem(hDlg,IDC_AVGTOBAR))  
			{  
				  x=size_value(0.0f,1000.0f,(float)nNewPos,st->in_ports[0].in_min,st->in_ports[0].in_max,0);
			   	  sprintf(temp,"%.2f",x);
				  SetDlgItemText(hDlg, IDC_AVGTO, temp);
			}
			apply_threshold(hDlg,st);
			if (st->displayWnd) {st->last_value=INVALID_VALUE; st->redraw=1; InvalidateRect(st->displayWnd,NULL,TRUE);}
		
		}	break;
		case WM_SIZE:
		case WM_MOVE:  update_toolbox_position(hDlg);
		case WM_PAINT:
			color_button(GetDlgItem(hDlg,IDC_SELECTCOLOR),st->color);
			color_button(GetDlgItem(hDlg,IDC_BKCOLOR),st->bkcolor);
			color_button(GetDlgItem(hDlg,IDC_FONTCOL),st->fontcolor);
			color_button(GetDlgItem(hDlg,IDC_FONTBKCOL),st->fontbkcolor);
		break;
	}
    return FALSE;
}
Exemplo n.º 3
0
LRESULT CALLBACK MagnitudeDlgHandler( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
	int t; // ,z;
	static int tempfilt=0,acttype=0;
	static int dinit=FALSE;
	char sztemp[30];
    
	MAGNITUDEOBJ * st;
	
	st = (MAGNITUDEOBJ *) actobject;
    if ((st==NULL)||(st->type!=OB_MAGNITUDE)) return(FALSE);


	switch( message )
	{
		case WM_INITDIALOG:
			{
				SCROLLINFO lpsi;
				
				SendMessage(GetDlgItem(hDlg, IDC_PASSTYPECOMBO), CB_RESETCONTENT,0,0);
			    for (t = 0; t < PASSTYPES; t++) 
					SendMessage( GetDlgItem(hDlg, IDC_PASSTYPECOMBO), CB_ADDSTRING, 0,  (LPARAM) (LPSTR) PASSTYPE[t].tname) ;
				SetDlgItemText(hDlg,IDC_PASSTYPECOMBO, PASSTYPE[st->filtertype].tname);
				acttype=st->filtertype;

				SetDlgItemInt(hDlg,IDC_ORDER, st->order,0);
				SetDlgItemInt(hDlg,IDC_GAIN, st->gain,0);

				lpsi.cbSize=sizeof(SCROLLINFO);
				lpsi.fMask=SIF_RANGE|SIF_POS;
				
				lpsi.nMin=1; lpsi.nMax=1280;
				SetScrollInfo(GetDlgItem(hDlg,IDC_CENTERBAR),SB_CTL,&lpsi,TRUE);
				lpsi.nMin=1; lpsi.nMax=200;
				SetScrollInfo(GetDlgItem(hDlg,IDC_WIDTHBAR),SB_CTL,&lpsi,TRUE);

				SetScrollPos(GetDlgItem(hDlg,IDC_CENTERBAR), SB_CTL,(int)(st->center*10.0f),TRUE);
				sprintf(sztemp,"%.4f",st->center);
				SetDlgItemText(hDlg,IDC_CENTER, sztemp);

				SetScrollPos(GetDlgItem(hDlg,IDC_WIDTHBAR), SB_CTL,(int)(st->wid*10.0f),TRUE);
				sprintf(sztemp,"%.4f",st->wid);
				SetDlgItemText(hDlg,IDC_WIDTH, sztemp);
			}
			return TRUE;
		case WM_CLOSE:		
			    EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
				break;
		case WM_COMMAND:
			switch (LOWORD(wParam)) 
			{
			
			case IDC_PASSTYPECOMBO:
				  acttype=SendMessage( GetDlgItem(hDlg, IDC_PASSTYPECOMBO), CB_GETCURSEL, 0, 0 ) ;
				break;
			case IDC_CENTER:
				if (HIWORD(wParam) == EN_KILLFOCUS)
                    {
						GetDlgItemText(hDlg, IDC_CENTER, sztemp, 20);
						st->center = (float)atof(sztemp);
						if (st->center<0) { st->center=0; SetDlgItemText(hDlg,IDC_CENTER,"0");}
						if (st->center>PACKETSPERSECOND/2) { st->center=(float)(PACKETSPERSECOND/2); SetDlgItemInt(hDlg,IDC_CENTER,PACKETSPERSECOND/2,0);}
//						SendMessage (hDlg,WM_COMMAND,IDC_STORE,0);
					}
				break;
			case IDC_WIDTH:
				if (HIWORD(wParam) == EN_KILLFOCUS)
                    {
						GetDlgItemText(hDlg, IDC_WIDTH, sztemp, 20);
						st->wid = (float)atof(sztemp);
						if (st->wid<0.0001) { st->wid=1; SetDlgItemText(hDlg,IDC_CENTER,"0.0001");}
						if (st->wid>PACKETSPERSECOND/2) { st->wid=(float)(PACKETSPERSECOND/2); SetDlgItemInt(hDlg,IDC_WIDTH,PACKETSPERSECOND/2,0);}
//						SendMessage (hDlg,WM_COMMAND,IDC_STORE,0);
					}
				break;
			case IDC_STORE:
				{
					char sztemp[30];
					char szorder[5];
					int test;
					
					test=GetDlgItemInt(hDlg,IDC_ORDER, NULL, 0);
					if ((test<1)||((test>10)&&(acttype==0))||((test>60)&&(acttype==1))) 
					{ SetDlgItemInt(hDlg,IDC_ORDER,st->order,0); return(TRUE); }
					st->filtertype=acttype;
					st->order=test; 
					st->gain=GetDlgItemInt(hDlg,IDC_GAIN, NULL, 0);

					strcpy(sztemp,PASSTYPE[st->filtertype].init);
					GetDlgItemText(hDlg, IDC_ORDER,  szorder, sizeof(szorder));
					strcat(sztemp,szorder);
	
					st->lp1filt= fid_design(sztemp, PACKETSPERSECOND, (double)st->wid, 0, 0, 0);
					st->lp1run= fid_run_new(st->lp1filt, &(st->lp1funcp));
					if (st->lp1fbuf!=NULL)
					{
						fid_run_freebuf(st->lp1fbuf);
	   				    st->lp1fbuf=fid_run_newbuf(st->lp1run);
					}

					st->lp2filt= fid_design(sztemp, PACKETSPERSECOND,(double)st->wid, 0, 0, 0);
					st->lp2run= fid_run_new(st->lp2filt, &(st->lp2funcp));
					if (st->lp2fbuf!=NULL)
					{
						fid_run_freebuf(st->lp2fbuf);
   					    st->lp2fbuf=fid_run_newbuf(st->lp2run);
					}
					return TRUE;
				}
				break;
			}
			return (TRUE);
		case WM_HSCROLL:
		{
			int nNewPos;
  		    if((nNewPos=get_scrollpos(wParam,lParam))>=0)
			{
			  
			  if (lParam == (long) GetDlgItem(hDlg,IDC_CENTERBAR))  
			  {   
				  st->center=(float)nNewPos/10.0f;
				  sprintf(sztemp,"%.2f",st->center);
				  SetDlgItemText(hDlg, IDC_CENTER,sztemp);
			      
			  }
			  if (lParam == (long) GetDlgItem(hDlg,IDC_WIDTHBAR)) 
			  {
				  st->wid=(float)nNewPos/10.0f;
				  sprintf(sztemp,"%.2f",st->wid);
				  SetDlgItemText(hDlg, IDC_WIDTH,sztemp);
			  }

			} 
		}
		break;
		case WM_SIZE:
		case WM_MOVE:  update_toolbox_position(hDlg);
		break;
		return(TRUE);
		
	}
    return FALSE;
}
Exemplo n.º 4
0
LRESULT CALLBACK BALLGAMEDlgHandler( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
	BALLGAMEOBJ * st;
	
	st = (BALLGAMEOBJ *) actobject;
    if ((st==NULL)||(st->type!=OB_BALLGAME)) return(FALSE);

	switch( message )
	{
		case WM_INITDIALOG:
			{
				SCROLLINFO lpsi;
				
				
				lpsi.cbSize=sizeof(SCROLLINFO);
				lpsi.fMask=SIF_RANGE; // |SIF_POS;
				
				lpsi.nMin=1; lpsi.nMax=100;
				SetScrollInfo(GetDlgItem(hDlg,IDC_SPEEDBAR),SB_CTL,&lpsi,TRUE);
				SetScrollInfo(GetDlgItem(hDlg,IDC_RACKETBAR),SB_CTL,&lpsi,TRUE);
				SetDlgItemInt(hDlg, IDC_SPEED,st->speed,0);
				SetDlgItemInt(hDlg, IDC_RACKET,st->racket,0);
				SetScrollPos(GetDlgItem(hDlg,IDC_SPEEDBAR), SB_CTL,st->speed,TRUE);
				SetScrollPos(GetDlgItem(hDlg,IDC_RACKETBAR), SB_CTL,st->racket,TRUE);

				CheckDlgButton(hDlg, IDC_MIDDLE, st->reset_middle);

			}
			return TRUE;
	
		case WM_CLOSE:
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			break;
		case WM_COMMAND:
			switch (LOWORD(wParam)) 
			{ 
				case IDC_RESETBEST: 
						st->best=0;
					break;
				case IDC_MIDDLE: 
						st->reset_middle=IsDlgButtonChecked(hDlg,IDC_MIDDLE);
					break;
			}
			return TRUE;
			
		case WM_HSCROLL:
		{
			int nNewPos;

			nNewPos=get_scrollpos(wParam,lParam);

			if (lParam == (long) GetDlgItem(hDlg,IDC_SPEEDBAR))  { SetDlgItemInt(hDlg, IDC_SPEED,nNewPos,0); st->speed=nNewPos;}
			if (lParam == (long) GetDlgItem(hDlg,IDC_RACKETBAR)) {  SetDlgItemInt(hDlg, IDC_RACKET,nNewPos,0);st->racket=nNewPos;}
			InvalidateRect(st->displayWnd,NULL,TRUE);
		
		}	break;
		case WM_SIZE:
		case WM_MOVE:  update_toolbox_position(hDlg);
		case WM_PAINT:
//			color_button(GetDlgItem(hDlg,IDC_SELECTCOLOR),st->color);
		break;
	}
    return FALSE;
}
Exemplo n.º 5
0
LRESULT CALLBACK Mixer4DlgHandler( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
	char sztemp[20];
	MIXER4OBJ * st;
	
	st = (MIXER4OBJ *) actobject;
    if ((st==NULL)||(st->type!=OB_MIXER4)) return(FALSE);


	switch( message )
	{
		case WM_INITDIALOG:
			{
				SCROLLINFO lpsi;
				
				lpsi.cbSize=sizeof(SCROLLINFO);
				lpsi.fMask=SIF_RANGE|SIF_POS;
				
				lpsi.nMin=0; lpsi.nMax=5000;
				SetScrollInfo(GetDlgItem(hDlg,IDC_CHN1BAR),SB_CTL,&lpsi,TRUE);
				SetScrollInfo(GetDlgItem(hDlg,IDC_CHN2BAR),SB_CTL,&lpsi,TRUE);
				SetScrollInfo(GetDlgItem(hDlg,IDC_CHN3BAR),SB_CTL,&lpsi,TRUE);
				SetScrollInfo(GetDlgItem(hDlg,IDC_CHN4BAR),SB_CTL,&lpsi,TRUE);

				switch (st->invmode)
				{
					case 0: CheckDlgButton(hDlg,IDC_INVIGNORE,TRUE); break;
					case 1: CheckDlgButton(hDlg,IDC_INVAND,TRUE); break;
					case 2: CheckDlgButton(hDlg,IDC_INVOR,TRUE); break;
				}
				update_scrollpos(hDlg,st);

			}
			return TRUE;
	
		case WM_CLOSE:
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			break;
		case WM_COMMAND:
			switch (LOWORD(wParam)) 
			{
			case IDC_SOLO1:
				    st->chn1vol=100.0f; st->chn2vol=0.0f;st->chn3vol=0.0f;st->chn4vol=0.0f;
					update_scrollpos(hDlg,st);
				break;
			case IDC_SOLO2:
				    st->chn2vol=100.0f; st->chn1vol=0.0f;st->chn3vol=0.0f;st->chn4vol=0.0f;
					update_scrollpos(hDlg,st);
				break;
			case IDC_SOLO3:
				    st->chn3vol=100.0f; st->chn1vol=0.0f;st->chn2vol=0.0f;st->chn4vol=0.0f;
					update_scrollpos(hDlg,st);
				break;
			case IDC_SOLO4:
				    st->chn4vol=100.0f; st->chn1vol=0.0f;st->chn2vol=0.0f;st->chn3vol=0.0f;
					update_scrollpos(hDlg,st);
				break;
			case IDC_INVIGNORE:
				    st->invmode=0;
				break;
			case IDC_INVAND:
				    st->invmode=1;
				break;
			case IDC_INVOR:
				    st->invmode=2;
				break;
			}
			return TRUE;
		case WM_HSCROLL:
		{
			int nNewPos; 
			nNewPos=get_scrollpos(wParam, lParam);
		    {
			  if (lParam == (long) GetDlgItem(hDlg,IDC_CHN1BAR))  
			  {   
				  sprintf(sztemp,"%.2f",nNewPos/10.0f);
				  SetDlgItemText(hDlg, IDC_CHN1,sztemp);
			      st->chn1vol=(float)nNewPos/10.0f;
			  }
			  if (lParam == (long) GetDlgItem(hDlg,IDC_CHN2BAR))  
			  {   
				  sprintf(sztemp,"%.2f",nNewPos/10.0f);
				  SetDlgItemText(hDlg, IDC_CHN2,sztemp);
			      st->chn2vol=(float)nNewPos/10.0f;
			  }
			  if (lParam == (long) GetDlgItem(hDlg,IDC_CHN3BAR))  
			  {   
				  sprintf(sztemp,"%.2f",nNewPos/10.0f);
				  SetDlgItemText(hDlg, IDC_CHN3,sztemp);
			      st->chn3vol=(float)nNewPos/10.0f;
			  }
			  if (lParam == (long) GetDlgItem(hDlg,IDC_CHN4BAR))  
			  {   
				  sprintf(sztemp,"%.2f",nNewPos/10.0f);
				  SetDlgItemText(hDlg, IDC_CHN4,sztemp);
			      st->chn4vol=(float)nNewPos/10.0f;
			  }
		  
			}
		
		} break;
		case WM_SIZE:
		case WM_MOVE:  update_toolbox_position(hDlg);
		break;
		return TRUE;
	}
    return FALSE;
}
Exemplo n.º 6
0
LRESULT CALLBACK ParticleDlgHandler( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
   PARTICLEOBJ * st;
	
	st = (PARTICLEOBJ *) actobject;
    if ((st==NULL)||(st->type!=OB_PARTICLE)) return(FALSE);

   
	switch( message )
	{
		case WM_INITDIALOG:
			{
				SCROLLINFO lpsi;
				char sztemp[3];
				int t;

			    lpsi.cbSize=sizeof(SCROLLINFO);
				lpsi.fMask=SIF_RANGE|SIF_POS;
				

				lpsi.nMin=1; lpsi.nMax=1024;
				SetScrollInfo(GetDlgItem(hDlg,IDC_VALUEBAR),SB_CTL,&lpsi,TRUE);
				for (t=0;t<PARTICLE_PARAMS;t++)
					SendDlgItemMessage(hDlg, IDC_PARAMETERCOMBO, CB_ADDSTRING, 0,(LPARAM) (LPSTR) PARTICLEPARAMETER[t].paramname ) ;

				SendDlgItemMessage(hDlg, IDC_REMOTECOMBO, CB_ADDSTRING, 0,(LPARAM) (LPSTR) "none" ) ;
				for (t=1;t<7;t++)
				{
					sprintf(sztemp,"%d",t);
					SendDlgItemMessage(hDlg, IDC_REMOTECOMBO, CB_ADDSTRING, 0,(LPARAM) (LPSTR) sztemp ) ;
				}
				
				update_particledialog(hDlg,st);
			}
			return TRUE;
	
		case WM_CLOSE:
			    EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			break;
		case WM_COMMAND:
			switch (LOWORD(wParam)) {

			case IDC_PARAMETERCOMBO:
				if (HIWORD(wParam)==CBN_SELCHANGE)
				{
				st->act_parameter=SendDlgItemMessage(hDlg, IDC_PARAMETERCOMBO, CB_GETCURSEL, 0, 0 ) ;
				update_particledialog(hDlg,st);
				EnableWindow(GetDlgItem(hDlg, IDC_VALUEBAR),TRUE);
				}
				break;
			case IDC_PARTICLEMUTE:
					st->mute=IsDlgButtonChecked(hDlg, IDC_PARTICLEMUTE);
				break;

			case IDC_REMOTECOMBO:
				if (HIWORD(wParam)==CBN_SELCHANGE)
				{
				st->remote[st->act_parameter]=SendDlgItemMessage(hDlg, IDC_REMOTECOMBO, CB_GETCURSEL, 0, 0 ) ;
				//update_particledialog(hDlg,st);
				}
				break;
			case IDC_SETMIN:
				st->min[st->act_parameter]=st->get_paramvalue(st->act_parameter);
				st->value[st->act_parameter]=1.0f;
				//SetScrollPos(GetDlgItem(hDlg,IDC_VALUEBAR), SB_CTL,1,TRUE);		
				update_particledialog(hDlg,st);
				break;
			case IDC_SETMAX:
				st->max[st->act_parameter]=st->get_paramvalue(st->act_parameter);
				st->value[st->act_parameter]=1024.0f;
				//SetScrollPos(GetDlgItem(hDlg,IDC_VALUEBAR), SB_CTL,1024,TRUE);		
				update_particledialog(hDlg,st);
				break;
			case IDC_RESETMINMAX:
				st->min[st->act_parameter]=PARTICLEPARAMETER[st->act_parameter].min;
				st->max[st->act_parameter]=PARTICLEPARAMETER[st->act_parameter].max;
				update_particledialog(hDlg,st);
				break;
			case IDC_LOADPAL:
				{
				  char szFileName[100];
				  int t;

				  strcpy(szFileName,GLOBAL.resourcepath);
				  strcat(szFileName,"PALETTES\\*.pal");
				  if (open_file_dlg(hDlg, szFileName, FT_PALETTE, OPEN_LOAD)) 
				  {
				    if (!load_from_file(szFileName, &(st->cols), sizeof(st->cols)))
				   	  report_error("Could not load Color Palette");
				    else
					{
					  reduce_filepath(szFileName,szFileName);
					  strcpy(st->palettefile,szFileName);
					  SetDlgItemText(hDlg, IDC_PALETTEFILE, st->palettefile); 
					  for (t=0;t<128;t++)
					  {
							st->colors[t][0]=(float)((st->cols[t]&0xff)/256.0);
							st->colors[t][1]=(float)(((st->cols[t]>>8)&0xff)/256.0);
							st->colors[t][2]=(float)((st->cols[t]>>16)/256.0);
					  }

					}
				  }
				}
				break;


			}
			
			return TRUE;
			break;
		case WM_HSCROLL:
		{
			int nNewPos; 
			if ((nNewPos=get_scrollpos(wParam, lParam))>=0)
		    {			  
			  if (lParam == (long) GetDlgItem(hDlg,IDC_VALUEBAR)) 
			  {
				  char sztemp[10];
				  st->value[st->act_parameter]=(float)nNewPos;
				  sprintf(sztemp,"%.2f",st->get_paramvalue(st->act_parameter));
				  SetDlgItemText(hDlg, IDC_VALUE,sztemp);
			  }

			}
		
		}
		case WM_SIZE:
		case WM_MOVE:  update_toolbox_position(hDlg);
		break;

		return TRUE;
	}
    return FALSE;
}
Exemplo n.º 7
0
LRESULT CALLBACK BROWSEDlghandler( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
    static int t,port=DEF_MIDIPORT,midichn=1,instrument=11;
	static char szFileName[MAX_PATH];
	static int oldtone=0;


	switch( message )
	{
		case WM_INITDIALOG:
			{
				SCROLLINFO lpsi;

				init_midi();
				strcpy(LOADSCALE.name,"Chromatic1-127");
				for (t=1;t<128;t++)  LOADSCALE.tones[t-1]=t; 
				LOADSCALE.len=127;
				SetDlgItemText(hDlg, IDC_HARMONICNAME, LOADSCALE.name);

				for (t=0;t<255;t++) 
					SendDlgItemMessage(hDlg, IDC_MIDIINSTCOMBO, CB_ADDSTRING, 0,(LPARAM) (LPSTR) midi_instnames[t]) ;
				SendDlgItemMessage( hDlg, IDC_MIDIINSTCOMBO, CB_SETCURSEL, instrument, 0L ) ;

 			    for (t = 0; t < midiports; t++) 
				 if(MIDIPORTS[t].midiout)
				   SendDlgItemMessage(hDlg, IDC_MIDIPORTCOMBO, CB_ADDSTRING, 0, (LPARAM) (LPSTR) MIDIPORTS[t].portname ) ;
				SetDlgItemText(hDlg, IDC_MIDIPORTCOMBO, MIDIPORTS[port].portname);

				lpsi.cbSize=sizeof(SCROLLINFO);
				lpsi.fMask=SIF_RANGE|SIF_POS;
				lpsi.nMin=1; lpsi.nMax=127;
				SetScrollInfo(GetDlgItem(hDlg,IDC_TONEBAR),SB_CTL,&lpsi,TRUE);
 			    SetScrollPos(GetDlgItem(hDlg, IDC_TONEBAR), SB_CTL, 64, 1);
			    SetDlgItemInt(hDlg, IDC_ACTTONE, 64,0);
			    SetDlgItemInt(hDlg, IDC_MIDICHN, midichn,0);
				
				midi_Instrument(&(MIDIPORTS[port].midiout),midichn,instrument);
				update_harmonic(GetDlgItem(hDlg, IDC_HARMONICLIST));

			}
			return TRUE;
	
		case WM_CLOSE:
				midi_NoteOff(&(MIDIPORTS[port].midiout), midichn,oldtone);
			    EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			break;
		case WM_COMMAND:
			switch (LOWORD(wParam)) 
			{

			case IDC_MIDIPORTCOMBO:
 				 if (HIWORD(wParam)==CBN_SELCHANGE)
				    port=get_listed_midiport(SendMessage(GetDlgItem(hDlg, IDC_MIDIPORTCOMBO), CB_GETCURSEL , 0, 0));
					midi_Instrument(&(MIDIPORTS[port].midiout),midichn,instrument); 
				 break;
			case IDC_MIDIINSTCOMBO:
					instrument=SendMessage(GetDlgItem(hDlg, IDC_MIDIINSTCOMBO), CB_GETCURSEL , 0, 0);
					midi_Instrument(&(MIDIPORTS[port].midiout),midichn,instrument); 
				break;
			case IDC_MIDICHN:
					midichn=GetDlgItemInt(hDlg, IDC_MIDICHN, NULL, 0);
					midi_Instrument(&(MIDIPORTS[port].midiout),midichn,instrument);
				break;
			case IDC_DELTONE:
				{   int select;
					select=SendDlgItemMessage( hDlg, IDC_HARMONICLIST, LB_GETCURSEL , 0, 0L ) ;
					if ((select>=0)&&(select<LOADSCALE.len))
					{
					  SendDlgItemMessage( hDlg, IDC_HARMONICLIST, LB_DELETESTRING , (WPARAM) select, 0L ) ;
					  LOADSCALE.len--;
					  SetFocus(GetDlgItem(hDlg,IDC_HARMONICLIST));
					  SendDlgItemMessage( hDlg, IDC_HARMONICLIST, LB_SETCURSEL , (WPARAM) select, 0L ) ;
					  apply_harmonic(hDlg);
					}
//					else  report("Nothing selected");
				}
				break;
			case IDC_HARMONICNAME:
				  GetDlgItemText(hDlg, IDC_HARMONICNAME, LOADSCALE.name, 256);
				  
				break;
			case IDC_ADDTONE:
				{  int index,dataint,select;
				   char szdata[5];

					if (LOADSCALE.len<MAX_HARMONICTONES-1)
					{
					  select=SendDlgItemMessage( hDlg, IDC_HARMONICLIST, LB_GETCURSEL , 0, 0L )+1 ;
					  if ((select<1)||(select>LOADSCALE.len)) select=LOADSCALE.len;
					  GetDlgItemText(hDlg, IDC_ACTTONE, szdata, 4);
					  dataint=GetDlgItemInt(hDlg, IDC_ACTTONE, 0,0);
					  index=SendDlgItemMessage( hDlg, IDC_HARMONICLIST, LB_INSERTSTRING , (WPARAM) select, (LPARAM) szdata) ;
					  SendDlgItemMessage(hDlg, IDC_HARMONICLIST, LB_SETITEMDATA, (WPARAM)index, (LPARAM)dataint);
					  LOADSCALE.len++;
					  SetFocus(GetDlgItem(hDlg,IDC_HARMONICLIST));
					  apply_harmonic(hDlg);
					} ;
				}
				break;
			case IDC_HARMONICCLEAR:
					SendDlgItemMessage(hDlg, IDC_HARMONICLIST, LB_RESETCONTENT, 0, 0);
					LOADSCALE.len=0;
					apply_harmonic(hDlg);
					break;
			case IDC_LOADHARMONIC:
				{
				strcpy(szFileName,DEFPATH);
 			    strcat(szFileName,"TONESCALES\\default.sc");
				 if (open_file_dlg(hDlg, szFileName, OPEN_LOAD)) 
				 {
					 /*
				 char tmp[256],*p1,*p2,diff=0;
				  strcpy(tmp,DEFPATH);
				  strcat(tmp,"TONESCALES\\"); 
				  for (p1=tmp,p2=szFileName;(*p1) && (*p2) && (!diff);p1++,p2++) 
					  if (tolower(*p1)!=tolower(*p2)) diff=1;
				  if (diff||(strlen(tmp)>strlen(szFileName)))
					report("Please use Tonescales-subfolder of brainbay application to load/store palette files");
				  else*/
				  {

					if (!load_from_file(szFileName, &LOADSCALE, sizeof(struct SCALEStruct)))
						report("Could not load Harmonic Scale");
					else
					{
					    update_harmonic(GetDlgItem(hDlg, IDC_HARMONICLIST));
						SetDlgItemText(hDlg, IDC_HARMONICNAME, LOADSCALE.name);

					}
				  }
				 } else report("Could not load Harmonic Scale");

				}
				break;
			case IDC_SAVEHARMONIC:
				{
					char temp[100];
					strcpy(szFileName,DEFPATH);
					strcat(szFileName,"TONESCALES\\");
					GetDlgItemText(hDlg, IDC_HARMONICNAME, temp, MAX_PATH);
					strcat (szFileName,temp);
					strcat (szFileName,".sc");

					if (open_file_dlg(hDlg, szFileName, OPEN_SAVE))
					{
/*	 				  char tmp[256],*p1,*p2,diff=0;
					  strcpy(tmp,DEFPATH);
					  strcat(tmp,"TONESCALES\\"); 
					  for (p1=tmp,p2=szFileName;(*p1) && (*p2) && (!diff);p1++,p2++) 
						  if (tolower(*p1)!=tolower(*p2)) diff=1;
					  if (diff||(strlen(tmp)>strlen(szFileName)))
						report("Please use Tonescales-subfolder of brainbay application to load/store palette files");
					  else*/
					  {

						 if (!save_to_file(szFileName, &LOADSCALE, sizeof(struct SCALEStruct)))
							report("Could not save Scale");
					  }
					}
				}
				break;

            case IDC_HARMONICLIST:
                if (HIWORD(wParam)==LBN_SELCHANGE)
                {
					int dataint,sel;
					sel=SendDlgItemMessage( hDlg, IDC_HARMONICLIST, LB_GETCURSEL , 0, 0L ) ;
					dataint=SendDlgItemMessage(hDlg, IDC_HARMONICLIST, LB_GETITEMDATA, (WPARAM)sel, 0);
					midi_NoteOff(&(MIDIPORTS[port].midiout), midichn,oldtone);
					oldtone=dataint;
					midi_NoteOn(&(MIDIPORTS[port].midiout), midichn, dataint,127);
					
                }
				break;

			}
			return TRUE;
		case WM_HSCROLL:
		{
			int nNewPos; 
			if ((nNewPos=get_scrollpos(wParam,lParam))>=0)
			{   
			  if (lParam == (long) GetDlgItem(hDlg,IDC_TONEBAR))  { SetDlgItemInt(hDlg, IDC_ACTTONE,nNewPos,0);
																	midi_NoteOff(&(MIDIPORTS[port].midiout), midichn,oldtone);
																	oldtone=nNewPos;
																	midi_NoteOn(&(MIDIPORTS[port].midiout), midichn,nNewPos,127);
																	apply_harmonic(hDlg);
																	}
			}
		
		}
		break;
		case WM_SIZE:
		case WM_MOVE: ;
		break;
		return TRUE;
	}
    return FALSE;
}
Exemplo n.º 8
0
LRESULT CALLBACK CounterDlgHandler( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
    static int init;
    COUNTEROBJ * st;

    st = (COUNTEROBJ *) actobject;
    if ((st==NULL)||(st->type!=OB_COUNTER)) return(FALSE);

    switch( message )
    {
    case WM_INITDIALOG:
        SCROLLINFO lpsi;
        lpsi.cbSize=sizeof(SCROLLINFO);
        lpsi.fMask=SIF_RANGE|SIF_POS;
        lpsi.nMin=4;
        lpsi.nMax=300;
        SetScrollInfo(GetDlgItem(hDlg,IDC_FONTSIZEBAR),SB_CTL,&lpsi, TRUE);
        SetScrollPos(GetDlgItem(hDlg,IDC_FONTSIZEBAR), SB_CTL,st->fontsize, TRUE);
        SetDlgItemInt(hDlg, IDC_FONTSIZE, st->fontsize, FALSE);
        SetDlgItemText(hDlg, IDC_CAPTION, st->wndcaption);


        SetDlgItemInt(hDlg, IDC_RESETVALUE, (int)st->resetvalue,TRUE);
        switch (st->mode)
        {
        case 0:
            CheckDlgButton(hDlg, IDC_COUNTFT,TRUE);
            break;
        case 1:
            CheckDlgButton(hDlg, IDC_COUNTTF,TRUE);
            break;
        case 2:
            CheckDlgButton(hDlg, IDC_COUNTIV,TRUE);
            break;
        case 3:
            CheckDlgButton(hDlg, IDC_COUNTFREQ,TRUE);
            break;
        }
        CheckDlgButton(hDlg, IDC_SHOWCOUNTER,st->showcounter);
        CheckDlgButton(hDlg, IDC_INTEGER,st->integer);

        return TRUE;

    case WM_CLOSE:
        EndDialog(hDlg, LOWORD(wParam));
        return TRUE;
        break;

    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case IDC_COUNTFT:
            st->mode=0;
            break;
        case IDC_COUNTTF:
            st->mode=1;
            break;
        case IDC_COUNTIV:
            st->mode=2;
            break;
        case IDC_COUNTFREQ:
            st->mode=3;
            break;

        case IDC_RESETCOUNTER:
            st->countervalue=st->resetvalue;
            break;
        case IDC_RESETVALUE:
            st->resetvalue=(float)GetDlgItemInt(hDlg, IDC_RESETVALUE,NULL, 1);
            break;

        case IDC_FONTCOLOR:
            st->fontcolor=select_color(hDlg);
            InvalidateRect(hDlg,NULL,FALSE);
            InvalidateRect(st->displayWnd,NULL,TRUE);
            break;
        case IDC_BKCOLOR:
            st->bkcolor=select_color(hDlg);
            InvalidateRect(hDlg,NULL,FALSE);
            InvalidateRect(st->displayWnd,NULL,TRUE);
            break;
        case IDC_CAPTION:
            GetDlgItemText(hDlg,IDC_CAPTION,st->wndcaption,50);
            SetWindowText(st->displayWnd,st->wndcaption);
            break;

        case IDC_INTEGER:
            st->integer=IsDlgButtonChecked(hDlg,IDC_INTEGER);
            InvalidateRect(st->displayWnd,NULL,TRUE);
            break;

        case IDC_SHOWCOUNTER:
        {   int i;
            i=IsDlgButtonChecked(hDlg,IDC_SHOWCOUNTER);
            if ((st->showcounter)&&(!i)&&(st->displayWnd))  {
                DestroyWindow(st->displayWnd);
                st->displayWnd=NULL;
            }
            if ((!st->showcounter)&&(i))
            {
                if(!(st->displayWnd=CreateWindow("Counter_Class", "Counter", WS_THICKFRAME| WS_CLIPCHILDREN,st->left, st->top, st->right-st->left, st->bottom-st->top, NULL, NULL, hInst, NULL)))
                    report_error("can't create Counter Window");
                else {
                    ShowWindow( st->displayWnd, TRUE );
                    UpdateWindow( st->displayWnd );
                }
            }
            st->showcounter=i;
        }
        break;

        }
        return TRUE;

    case WM_HSCROLL:
        if (lParam == (long) GetDlgItem(hDlg,IDC_FONTSIZEBAR))
        {
            int nNewPos=get_scrollpos(wParam,lParam);
            SetDlgItemInt(hDlg, IDC_FONTSIZE, nNewPos, TRUE);
            st->fontsize=nNewPos;
            if (st->font) DeleteObject(st->font);
            if (!(st->font = CreateFont(-MulDiv(st->fontsize, GetDeviceCaps(GetDC(NULL), LOGPIXELSY), 72), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "Arial")))
                report_error("Font creation failed!");

            InvalidateRect(st->displayWnd, NULL, TRUE);
        }
        break;

    case WM_SIZE:
    case WM_MOVE:
        update_toolbox_position(hDlg);
    case WM_PAINT:
        color_button(GetDlgItem(hDlg,IDC_FONTCOLOR),st->fontcolor);
        color_button(GetDlgItem(hDlg,IDC_BKCOLOR),st->bkcolor);
        break;
    }
    return FALSE;
}
Exemplo n.º 9
0
LRESULT CALLBACK SignalDlgHandler( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
	static int init;
	char sztemp[20];
	SIGNALOBJ * st;
	
	st = (SIGNALOBJ *) actobject;
    if ((st==NULL)||(st->type!=OB_SIGNAL)) return(FALSE);


	switch( message )
	{
		case WM_INITDIALOG:
			{
				SCROLLINFO lpsi;
				
				lpsi.cbSize=sizeof(SCROLLINFO);
				lpsi.fMask=SIF_RANGE|SIF_POS;
				
				lpsi.nMin=0; lpsi.nMax=6000;
				SetScrollInfo(GetDlgItem(hDlg,IDC_FREQUENCYBAR),SB_CTL,&lpsi,TRUE);
				lpsi.nMin=0; lpsi.nMax=1000;
				SetScrollInfo(GetDlgItem(hDlg,IDC_GAINBAR),SB_CTL,&lpsi,TRUE);
				lpsi.nMin=0; lpsi.nMax=360;
				SetScrollInfo(GetDlgItem(hDlg,IDC_PHASEBAR),SB_CTL,&lpsi,TRUE);
				lpsi.nMin=-5000; lpsi.nMax=5000;
				SetScrollInfo(GetDlgItem(hDlg,IDC_CENTERBAR),SB_CTL,&lpsi,TRUE);
				lpsi.nMin=0; lpsi.nMax=1000;
				SetScrollInfo(GetDlgItem(hDlg,IDC_NOISEBAR),SB_CTL,&lpsi,TRUE);

				SetScrollPos(GetDlgItem(hDlg,IDC_FREQUENCYBAR), SB_CTL,(int)(st->frequency*100.0f),TRUE);
				sprintf(sztemp,"%.2f",st->frequency);
				SetDlgItemText(hDlg, IDC_FREQUENCY,sztemp);
			    
				SetScrollPos(GetDlgItem(hDlg,IDC_CENTERBAR), SB_CTL,(int)st->center,TRUE);
				SetDlgItemInt(hDlg, IDC_CENTER, (int)st->center,1);

				SetScrollPos(GetDlgItem(hDlg,IDC_GAINBAR), SB_CTL,(int)st->gain,TRUE);
				SetDlgItemInt(hDlg, IDC_GAIN, (int)(st->gain/1000.0f*st->out_ports[0].out_max),0);

				SetScrollPos(GetDlgItem(hDlg,IDC_PHASEBAR), SB_CTL,(int)st->phase,TRUE);
				SetDlgItemInt(hDlg, IDC_PHASE, (int)st->phase,0);
				
				SetScrollPos(GetDlgItem(hDlg,IDC_NOISEBAR), SB_CTL,(int)st->noise,TRUE);
				SetDlgItemInt(hDlg, IDC_NOISE, (int)st->noise,0);

				SendDlgItemMessage( hDlg, IDC_SIGNALCOMBO, CB_ADDSTRING, 0,(LPARAM) "Sinus") ;
				SendDlgItemMessage( hDlg, IDC_SIGNALCOMBO, CB_ADDSTRING, 0,(LPARAM) "Sawtooth") ;
				SendDlgItemMessage( hDlg, IDC_SIGNALCOMBO, CB_ADDSTRING, 0,(LPARAM) "Rectangle") ;
				SendDlgItemMessage( hDlg, IDC_SIGNALCOMBO, CB_ADDSTRING, 0,(LPARAM) "Ramp") ;
				SendDlgItemMessage( hDlg, IDC_SIGNALCOMBO, CB_SETCURSEL, st->sigtype, 0L ) ;

				CheckDlgButton(hDlg, IDC_ENABLE_IN, st->enable_in);
			}
			return TRUE;
	
		case WM_CLOSE:
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			break;
		case WM_COMMAND:
			switch (LOWORD(wParam)) 
			{
			case IDC_SIGNALCOMBO:
				if (HIWORD(wParam)==CBN_SELCHANGE)
				    st->sigtype=SendMessage(GetDlgItem(hDlg, IDC_SIGNALCOMBO), CB_GETCURSEL , 0, 0);
				break;
			case IDC_ENABLE_IN:
				st->enable_in= IsDlgButtonChecked(hDlg, IDC_ENABLE_IN);
				if (st->enable_in) { st->width=80; st->inports=2; st->height=CON_START+2*CON_HEIGHT+5;}
				else {st->width=50; st->inports=0; st->height=CON_START+CON_HEIGHT+5; }
				InvalidateRect(ghWndDesign,NULL,TRUE);
				break;
			}
			return TRUE;
		case WM_HSCROLL:
		{
			int nNewPos; 
			//if ((
			nNewPos=get_scrollpos(wParam, lParam);
			//)>=0)
		    {
			  if (lParam == (long) GetDlgItem(hDlg,IDC_FREQUENCYBAR))  
			  {   
				  sprintf(sztemp,"%.2f",nNewPos/100.0f);
				  SetDlgItemText(hDlg, IDC_FREQUENCY,sztemp);
			      st->frequency=(float)nNewPos/100.0f;
			  }
			  if (lParam == (long) GetDlgItem(hDlg,IDC_CENTERBAR)) 
			  {
				   st->center=(float)nNewPos;
				   SetDlgItemInt(hDlg, IDC_CENTER,(int)(st->center),1);
			  }
			  if (lParam == (long) GetDlgItem(hDlg,IDC_GAINBAR)) 
			  {
				   st->gain=(float)nNewPos;
				   SetDlgItemInt(hDlg, IDC_GAIN,(int)(st->gain/1000.0f*st->out_ports[0].out_max),0);
			  }
			  if (lParam == (long) GetDlgItem(hDlg,IDC_PHASEBAR)) 
			  {
				   SetDlgItemInt(hDlg, IDC_PHASE,nNewPos,0);
				   st->phase=(float)nNewPos;
			  }
			  if (lParam == (long) GetDlgItem(hDlg,IDC_NOISEBAR)) 
			  {
				   SetDlgItemInt(hDlg, IDC_NOISE,nNewPos,0);
				   st->noise=nNewPos;
			  }
		  
			}
		
		} break;
		case WM_SIZE:
		case WM_MOVE:  update_toolbox_position(hDlg);
		break;
		return TRUE;
	}
    return FALSE;
}
Exemplo n.º 10
0
LRESULT CALLBACK MCIDlgHandler(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	char szFileName[MAX_PATH];
	MCIOBJ * st;
	
	st = (MCIOBJ *) actobject;
    if ((st==NULL)||(st->type!=OB_MCIPLAYER)) return(FALSE);

	switch( message ) 
	{
	case WM_INITDIALOG:
			SetDlgItemText(hDlg, IDC_MCIFILE, st->mcifile);
			SCROLLINFO lpsi;
		    lpsi.cbSize=sizeof(SCROLLINFO);
			lpsi.fMask=SIF_RANGE|SIF_POS;
			lpsi.nMin=4; lpsi.nMax=5000;
			SetScrollInfo(GetDlgItem(hDlg,IDC_SPEEDUPDATEBAR),SB_CTL,&lpsi, TRUE);
			SetScrollPos(GetDlgItem(hDlg,IDC_SPEEDUPDATEBAR), SB_CTL,st->upd_speed, TRUE);
			SetDlgItemInt(hDlg, IDC_UPDATESPEED, st->upd_speed, FALSE);
			SetDlgItemInt(hDlg, IDC_POS_CENTER, st->pos_center, FALSE);
			CheckDlgButton(hDlg, IDC_PLAY_ONCE, st->play_once);
		return TRUE;
        
	case WM_CLOSE:
		 EndDialog(hDlg, LOWORD(wParam));
		break;
    case WM_COMMAND:
		switch (LOWORD(wParam))
		{
		  case IDC_OPEN:
			  if (!(strcmp(st->mcifile,"none")))
			  {
				strcpy(szFileName,GLOBAL.resourcepath);
				strcat(szFileName,"MOVIES\\*.avi");
			  } else strcpy (szFileName,st->mcifile);

			if (open_file_dlg(hDlg, szFileName, FT_AVI, OPEN_LOAD)) 
			{

				st->playing=FALSE;
				strcpy(st->mcifile,szFileName);
				SetDlgItemText(hDlg, IDC_MCIFILE, st->mcifile); 
			}
			InvalidateRect(hDlg,NULL,FALSE);
			break;
		  case IDC_PLAY_ONCE:
			  st->play_once=IsDlgButtonChecked(hDlg,IDC_PLAY_ONCE);
			  break;
		    case IDC_LOAD:
				if (st->m_video) {	MCIWndStop(st->m_video); 	MCIWndDestroy(st->m_video); }
				
				st->m_video = MCIWndCreate(ghWndMain, hInst,WS_VISIBLE|WS_THICKFRAME|MCIWNDF_NOERRORDLG,st->mcifile);

				if (!st->m_video)  report_error ("Cannot open MCI File");
				else
				{
					RECT prc;

					MCIWndSetZoom(st->m_video,100);
					MCIWndGetSource(st->m_video,&prc);
					MCIWndSetTimeFormat(st->m_video ,"ms");
					MCIWndSetActiveTimer(st->m_video,500);
					if ((!strstr(st->mcifile,".mp3")) && (!strstr(st->mcifile,".wav"))) 
						SetWindowPos(st->m_video,HWND_TOPMOST,st->left,st->top,st->left+prc.right-prc.left,st->top+prc.bottom-prc.top,SWP_SHOWWINDOW);
					else ShowWindow(st->m_video,FALSE);
					
				}
				break;
			case IDC_MCIPLAY:
					
				if (st->m_video)
				{
					MCIWndSetSpeed(st->m_video,st->speed);
					MCIWndPlay(st->m_video);
					st->playing=TRUE;
				}
		 		break;
				case IDC_MCISTOP:
					if (st->m_video) {	MCIWndStop(st->m_video);}  //	MCIWndDestroy(st->m_video); }
					st->playing=FALSE;
					break;

				case IDC_MCIPLUS:
					st->speed+=50;
					if (st->m_video) { 
						MCIWndSetSpeed(st->m_video,st->speed); //MCIWndStep(st->m_video,2); 
						MCIWndPlay(st->m_video); }
					break;

				case IDC_MCIMINUS:
					st->speed-=50;
					if (st->m_video) 	{  MCIWndSetSpeed(st->m_video,st->speed); 		//MCIWndStep(st->m_video,2); 
					MCIWndPlay(st->m_video);
					}
					break;
				case IDC_POS_CENTER:
					st->pos_center=GetDlgItemInt(hDlg,IDC_POS_CENTER,0,FALSE);

					break;

		}
		break;
	
		case WM_HSCROLL:
		{
			int nNewPos; 
			nNewPos = get_scrollpos(wParam,lParam);
			if (lParam == (long) GetDlgItem(hDlg,IDC_SPEEDUPDATEBAR))  
			{
					SetDlgItemInt(hDlg, IDC_UPDATESPEED, nNewPos, TRUE);
                    st->upd_speed=nNewPos;
			}
			break;
		}

		case WM_SIZE:
		case WM_MOVE:  update_toolbox_position(hDlg);
		break;

	}
   return FALSE;
}