⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xltwavplay.c

📁 使用在嵌入式linux平台或pc机上的wave文件录制和播放软件
💻 C
📖 第 1 页 / 共 4 页
字号:
	ac = 0;	XtSetArg(al[ac],XmNmarginHeight,6); ++ac;	XtSetArg(al[ac],XmNmarginWidth,6); ++ac;	wListFrame = XmCreateFrame(wLeftRC,"list_frame",al,ac);	XtManageChild(wListFrame);	ac = 0;	wListForm = XmCreateForm(wListFrame,"list_form",al,ac);	XtManageChild(wListForm);	/*	 * Create the Selections List Box Label:	 */	ac = 0;	XtSetArg(al[ac],XmNmarginWidth,6); ++ac;	wSelectionsLbl = XmCreateLabel(wListForm,"listbox_label",al,ac);	XtManageChild(wSelectionsLbl);	/*	 * Create the Selections List Box:	 */	ac = 0;	XtSetArg(al[ac],XmNvisibleItemCount,7); ++ac;	XtSetArg(al[ac],XmNscrollingPolicy,XmSTATIC); ++ac;	XtSetArg(al[ac],XmNvisualPolicy,XmCONSTANT); ++ac;	XtSetArg(al[ac],XmNscrolledWindowMarginHeight,6); ++ac;	XtSetArg(al[ac],XmNscrolledWindowMarginWidth,6); ++ac;	XtSetArg(al[ac],XmNselectionPolicy,XmSINGLE_SELECT); ++ac;	XtSetArg(al[ac],XmNwidth,420); ++ac;	wSelectionsListBox = XmCreateScrolledList(wListForm,"lstbox",al,ac);	XtManageChild(wSelectionsListBox);	XtAddCallback(wSelectionsListBox,XmNsingleSelectionCallback,PathSelected_CB,NULL);	XtVaSetValues(wSelectionsLbl,		XmNtopAttachment,XmATTACH_FORM,		XmNleftAttachment,XmATTACH_FORM,		NULL);	XtVaSetValues(XtParent(wSelectionsListBox),                XmNtopAttachment,XmATTACH_WIDGET,XmNtopWidget,wSelectionsLbl,		XmNleftAttachment,XmATTACH_FORM,		NULL);	ac = 0;	XtSetArg(al[ac],XmNmarginHeight,12); ++ac;	XtSetArg(al[ac],XmNmarginWidth,6); ++ac;	wDetailsFrame = XmCreateFrame(wLeftRC,"DetailsFrame",al,ac);	XtManageChild(wDetailsFrame);	ac = 0;	XtSetArg(al[ac],XmNorientation,XmHORIZONTAL); ++ac;	wDetailsRC = XmCreateRowColumn(wDetailsFrame,"DetailsRC",al,ac);	XtManageChild(wDetailsRC);	ac = 0;	XtSetArg(al[ac],XmNorientation,XmVERTICAL); ++ac;	XtSetArg(al[ac],XmNentryAlignment,XmALIGNMENT_END); ++ac;	wBotLeftRC0 = XmCreateRowColumn(wDetailsRC,"BotLeftRC0",al,ac);	XtManageChild(wBotLeftRC0);	ac = 0;	XtSetArg(al[ac],XmNorientation,XmVERTICAL); ++ac;	XtSetArg(al[ac],XmNentryAlignment,XmALIGNMENT_BEGINNING); ++ac;	wBotLeftRC1 = XmCreateRowColumn(wDetailsRC,"BotLeftRC1",al,ac);	XtManageChild(wBotLeftRC1);	ac = 0;	wFileLbl0 = XmCreateLabel(wBotLeftRC0,"FileLbl0",al,ac);	XtManageChild(wFileLbl0);		ac = 0;	wTypeLbl0 = XmCreateLabel(wBotLeftRC0,"TypeLbl0",al,ac);	XtManageChild(wTypeLbl0);		ac = 0;	wDateLbl0 = XmCreateLabel(wBotLeftRC0,"DateLbl0",al,ac);	XtManageChild(wDateLbl0);		ac = 0;	wSizeLbl0 = XmCreateLabel(wBotLeftRC0,"SizeLbl0",al,ac);	XtManageChild(wSizeLbl0);		ac = 0;	wSamplingRateLbl0 = XmCreateLabel(wBotLeftRC0,"SamplingRateLbl0",al,ac);	XtManageChild(wSamplingRateLbl0);		ac = 0;	wSamplesLbl0 = XmCreateLabel(wBotLeftRC0,"SamplesLbl0",al,ac);	XtManageChild(wSamplesLbl0);		ac = 0;	wTimeLbl0 = XmCreateLabel(wBotLeftRC0,"TimeLbl0",al,ac);	XtManageChild(wTimeLbl0);		ac = 0;	wFileLbl1 = XmCreateLabel(wBotLeftRC1,"FileLbl1",al,ac);	XtManageChild(wFileLbl1);		ac = 0;	wTypeLbl1 = XmCreateLabel(wBotLeftRC1,"TypeLbl1",al,ac);	XtManageChild(wTypeLbl1);		ac = 0;	wDateLbl1 = XmCreateLabel(wBotLeftRC1,"DateLbl1",al,ac);	XtManageChild(wDateLbl1);		ac = 0;	wSizeLbl1 = XmCreateLabel(wBotLeftRC1,"SizeLbl1",al,ac);	XtManageChild(wSizeLbl1);		ac = 0;	wSamplingRateLbl1 = XmCreateLabel(wBotLeftRC1,"SamplingRateLbl1",al,ac);	XtManageChild(wSamplingRateLbl1);		ac = 0;	wSamplesLbl1 = XmCreateLabel(wBotLeftRC1,"SamplesLbl1",al,ac);	XtManageChild(wSamplesLbl1);		ac = 0;	wTimeLbl1 = XmCreateLabel(wBotLeftRC1,"TimeLbl1",al,ac);	XtManageChild(wTimeLbl1);		/*         * Create the time scroll bar:	 */	ac = 0;        XtSetArg(al[ac],XmNmarginHeight,6); ++ac;        XtSetArg(al[ac],XmNmarginWidth,6); ++ac;        wTimeFrame = XmCreateFrame(wLeftRC,"timeframe",al,ac);        XtManageChild(wTimeFrame);         ac = 0;        wTimeRC = XmCreateRowColumn(wTimeFrame,"time_rolcol",al,ac);        XtManageChild(wTimeRC);         ac = 0;        XtSetArg(al[ac],XmNorientation,XmHORIZONTAL); ++ac;        wTimeDisplayRC = XmCreateRowColumn(wTimeRC,"timedisplay_rolcol",al,ac);        XtManageChild(wTimeDisplayRC);         ac = 0;        wTimeDisplayLbl0 = XmCreateLabel(wTimeDisplayRC,"TimeDisplayLbl0",al,ac);        XtManageChild(wTimeDisplayLbl0);         ac = 0;        wTimeDisplayLbl1 = XmCreateLabel(wTimeDisplayRC,"TimeDisplayLbl1",al,ac);        XtManageChild(wTimeDisplayLbl1);         ac = 0;        XtSetArg(al[ac],XmNorientation,XmHORIZONTAL); ++ac;        XtSetArg(al[ac],XmNminimum,0); ++ac;        XtSetArg(al[ac],XmNsliderSize,4000); ++ac;        XtSetArg(al[ac],XmNmaximum,0+4000); ++ac;        XtSetArg(al[ac],XmNincrement,1); ++ac;        wTimeScrollBar = XmCreateScrollBar(wTimeRC,"time_scrollbar",al,ac);        XtManageChild(wTimeScrollBar);        XtAddCallback(wTimeScrollBar,XmNvalueChangedCallback,TimeChg_CB,NULL);         /*         * Create the sampling rate scroll bar:         */        ac = time_display.sample_num = 0;        time_display.sampling_rate = 1;	XtSetArg(al[ac],XmNmarginHeight,6); ++ac;	XtSetArg(al[ac],XmNmarginWidth,6); ++ac;	wRateSBFrame = XmCreateFrame(wLeftRC,"rateSBframe",al,ac);	XtManageChild(wRateSBFrame);		ac = 0;	wRateRC = XmCreateRowColumn(wRateSBFrame,"rate_rolcol",al,ac);	XtManageChild(wRateRC);	ac = 0;	wRateLbl = XmCreateLabel(wRateRC,"rate_lbl",al,ac);	XtManageChild(wRateLbl);	ac = 0;	XtSetArg(al[ac],XmNorientation,XmHORIZONTAL); ++ac;	XtSetArg(al[ac],XmNminimum,0); ++ac;			/* DSP_MIN is actual min */	XtSetArg(al[ac],XmNsliderSize,4000); ++ac;	XtSetArg(al[ac],XmNmaximum,DSP_MAX+4000); ++ac;	XtSetArg(al[ac],XmNincrement,100); ++ac;	wRateScrollBar = XmCreateScrollBar(wRateRC,"rate_scrollbar",al,ac);	XtManageChild(wRateScrollBar);	XtAddCallback(wRateScrollBar,XmNvalueChangedCallback,SampleRateChg_CB,NULL);	ac = 0;	XtSetArg(al[ac],XmNmarginWidth,6); ++ac;	XtSetArg(al[ac],XmNmarginHeight,6); ++ac;	wRecRateFrame = XmCreateFrame(wRateRC,"rec_rate_frame",al,ac);	XtManageChild(wRecRateFrame);		ac = 0;	XtSetArg(al[ac],XmNorientation,XmHORIZONTAL); ++ac;	XtSetArg(al[ac],XmNpacking,XmPACK_COLUMN); ++ac;	XtSetArg(al[ac],XmNnumColumns,1); ++ac;	wRecRateRC = XmCreateRowColumn(wRecRateFrame,"rec_rate_rc",al,ac);	XtManageChild(wRecRateRC);		ac = 0;	wRecRateTgl = XmCreateToggleButton(wRecRateRC,"rec_rate_tgl",al,ac);	XtManageChild(wRecRateTgl);	XtAddCallback(wRecRateTgl,XmNvalueChangedCallback,RecRateTgl_CB,NULL);		ac = 0;	XtSetArg(al[ac],XmNeditable,True); ++ac;	wRecRate = XmCreateText(wRecRateRC,"rec_rate",al,ac);	XtManageChild(wRecRate);	XtAddCallback(wRecRate,XmNfocusCallback,RecRateFocus_CB,NULL);		/*	 * Now build the right hand side:	 */	ac = 0;	XtSetArg(al[ac],XmNorientation,XmVERTICAL); ++ac;	XtSetArg(al[ac],XmNmarginHeight,6); ++ac;	XtSetArg(al[ac],XmNmarginWidth,6); ++ac;	XtSetArg(al[ac],XmNpacking,XmPACK_TIGHT); ++ac;	wRightRC = XmCreateRowColumn(wMainForm,"RightRC",al,ac);	XtManageChild(wRightRC);	ac = 0;	XtSetArg(al[ac],XmNmarginHeight,6); ++ac;	XtSetArg(al[ac],XmNmarginWidth,6); ++ac;	wBitsFrame = XmCreateFrame(wRightRC,"BitsFrame",al,ac);	XtManageChild(wBitsFrame);	ac = 0;	XtSetArg(al[ac],XmNorientation,XmVERTICAL); ++ac;	XtSetArg(al[ac],XmNmarginHeight,6); ++ac;	XtSetArg(al[ac],XmNmarginWidth,6); ++ac;	XtSetArg(al[ac],XmNpacking,XmPACK_TIGHT); ++ac;	XtSetArg(al[ac],XmNradioBehavior,True); ++ac;	wBitsRC = XmCreateRowColumn(wBitsFrame,"BitsRC",al,ac);	XtManageChild(wBitsRC);	ac = 0;	w8BitCB = XmCreateToggleButton(wBitsRC,"8Bit",al,ac);	XtManageChild(w8BitCB);	XtAddCallback(w8BitCB,XmNvalueChangedCallback,BitsChanged_CB,(XtPointer)8UL);	ac = 0;	w16BitCB = XmCreateToggleButton(wBitsRC,"16Bit",al,ac);	XtManageChild(w16BitCB);	XtAddCallback(w16BitCB,XmNvalueChangedCallback,BitsChanged_CB,(XtPointer)16UL);	ac = 0;	XtSetArg(al[ac],XmNmarginHeight,6); ++ac;	XtSetArg(al[ac],XmNmarginWidth,6); ++ac;	wPlayFrame = XmCreateFrame(wRightRC,"PlayFrame",al,ac);	XtManageChild(wPlayFrame);	ac = 0;	XtSetArg(al[ac],XmNorientation,XmVERTICAL); ++ac;	XtSetArg(al[ac],XmNmarginHeight,6); ++ac;	XtSetArg(al[ac],XmNmarginWidth,6); ++ac;	XtSetArg(al[ac],XmNpacking,XmPACK_TIGHT); ++ac;	wPlayRC = XmCreateRowColumn(wPlayFrame,"PlayRC",al,ac);	XtManageChild(wPlayRC);	ac = 0;	wPlayPB = XmCreatePushButton(wPlayRC,"Play",al,ac);	XtManageChild(wPlayPB);	XtAddCallback(wPlayPB,XmNactivateCallback,Play_CB,NULL);	ac = 0;	wPausePB = XmCreatePushButton(wPlayRC,"Pause",al,ac);	XtManageChild(wPausePB);	XtAddCallback(wPausePB,XmNactivateCallback,Pause_CB,NULL);	ac = 0;	wStopPlayPB = XmCreatePushButton(wPlayRC,"Stop",al,ac);	XtManageChild(wStopPlayPB);	XtAddCallback(wStopPlayPB,XmNactivateCallback,Stop_CB,NULL);	ac = 0;	wRestorePB = XmCreatePushButton(wPlayRC,"Restore",al,ac);	XtManageChild(wRestorePB);	XtAddCallback(wRestorePB,XmNactivateCallback,Restore_CB,NULL);	ac = 0;	XtSetArg(al[ac],XmNmarginHeight,6); ++ac;	XtSetArg(al[ac],XmNmarginWidth,6); ++ac;	wStereoFrame = XmCreateFrame(wRightRC,"StereoFrame",al,ac);	XtManageChild(wStereoFrame);	ac = 0;	wStereoCB = XmCreateToggleButton(wStereoFrame,"Stereo",al,ac);	XtManageChild(wStereoCB);	XtAddCallback(wStereoCB,XmNvalueChangedCallback,StereoChanged_CB,NULL);	ac = 0;	XtSetArg(al[ac],XmNmarginHeight,6); ++ac;	XtSetArg(al[ac],XmNmarginWidth,6); ++ac;	wRecordFrame = XmCreateFrame(wRightRC,"RecordFrame",al,ac);	XtManageChild(wRecordFrame);	ac = 0;	XtSetArg(al[ac],XmNorientation,XmVERTICAL); ++ac;	XtSetArg(al[ac],XmNmarginHeight,6); ++ac;	XtSetArg(al[ac],XmNmarginWidth,6); ++ac;	XtSetArg(al[ac],XmNpacking,XmPACK_TIGHT); ++ac;	wRecordRC = XmCreateRowColumn(wRecordFrame,"RecordRC",al,ac);	XtManageChild(wRecordRC);	ac = 0;	wRecordPB = XmCreatePushButton(wRecordRC,"Record",al,ac);	XtManageChild(wRecordPB);	XtAddCallback(wRecordPB,XmNactivateCallback,Record_CB,NULL);	ac = 0;	wStopPB = XmCreatePushButton(wRecordRC,"Stop",al,ac);	XtManageChild(wStopPB);	XtAddCallback(wStopPB,XmNactivateCallback,Stop_CB,NULL);	/*	 * Main form layout details:	 */	XtVaSetValues(wLeftRC,		XmNtopAttachment,XmATTACH_FORM,		XmNleftAttachment,XmATTACH_FORM,		NULL);	XtVaSetValues(wRightRC,		XmNtopAttachment,XmATTACH_FORM,		XmNleftAttachment,XmATTACH_WIDGET,		XmNleftWidget,wLeftRC,		XmNrightAttachment,XmATTACH_FORM,		NULL);	/*	 * Realize the widgets now:	 */	BitsShow();						/* Initialize bit settings */	XtVaSetValues(wOptions_DebugTgl,XmNset,bOptionsDebug ? True : False,NULL);	cmdopt_x = bOptionsDebug != False ? 1 : 0;	XtRealizeWidget(wParent);				/* OK, realize it all.. */	/*	 * Fork a new process, and try to start the server:	 */	if ( tosvr_start(v_erf) < 0 ) {		ReportErrorf("Failure to start the wavplay server is fatal.\n"			"Please check the executability of the 'wavplay' command.");		exit(3);	}	/*	 * Tell the server our debug setting:	 */	tosvr_debug(0,NULL,cmdopt_x);	/*	 * This work process receives and operates on messages	 * from the server to this client program:	 */	XtAppAddTimeOut(aContext,TIMER1_MS,TimerProc1,NULL);	/*	 * Clear out the "XXXXXXXXXXXX" in the initial resources,	 * to set the width of those labels.	 */	XmSprintfLabel(wFileLbl1,"No file(s) selected.");	XmSprintfLabel(wTypeLbl1,"Choose [File] -> [Select Files...]");	XmSprintfLabel(wDateLbl1,"then click on entries in the");	XmSprintfLabel(wSizeLbl1,"list box.");	XmSprintfLabel(wSamplingRateLbl1," ");	XmSprintfLabel(wSamplesLbl1," ");	XmSprintfLabel(wTimeLbl1," ");	/*	 * The MOTIF Main Loop:	 */	XtAppMainLoop(aContext);	return 0;						/* A cookie for the compiler */}                       /* $Source: /home/cvs/wavplay/xltwavplay.c,v $ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -