📄 gui_main.cpp
字号:
#if 0 if (MyConfig->IsFileVideoSource() && MyConfig->IsFileAudioSource() && !MyConfig->GetBoolValue(CONFIG_RTP_ENABLE)) { // no real time constraints StopTime = 0; } else { StopTime = StartTime + FlowDuration; }#endif StopTime = StartTime + FlowDuration; status_start(); temp = lookup_widget(MainWindow, "StartButton"); gtk_button_set_label(GTK_BUTTON(temp), "Stop"); status_timer_id = gtk_timeout_add(1000, status_timer, MainWindow); started = true;}void DoStop(){ if (AVFlow->doingPreview() == false) { gtk_timeout_remove(status_timer_id); } GtkWidget *statusbar = lookup_widget(MainWindow, "statusbar1"); gtk_statusbar_pop(GTK_STATUSBAR(statusbar), 0); gtk_statusbar_push(GTK_STATUSBAR(statusbar), 0, "Stopping - Closing recorded files"); GtkWidget *temp = lookup_widget(MainWindow, "TextDialog"); if (temp != NULL) { gtk_widget_destroy(temp); } AVFlow->Stop(); gtk_statusbar_pop(GTK_STATUSBAR(statusbar), 0); gtk_statusbar_push(GTK_STATUSBAR(statusbar), 0, "Session Finished"); // unlock changes to settings LockoutChanges(false); temp = lookup_widget(MainWindow, "StartButton"); gtk_button_set_label(GTK_BUTTON(temp), "Start"); started = false; DisplayStreamData(SelectedStream);}static voidon_StartButton_toggled (GtkToggleButton *togglebutton, gpointer user_data){ if (started == false) { DoStart(); } else { DoStop(); } DisplayStreamData(SelectedStream);}// Handler for when a stream is clicked. Go through, and figure out// which one is selected. We should get a valid stream name, which we// then switch to.static void on_StreamTree_select (GtkTreeSelection *selection, gpointer data){ GtkTreeIter iter; GtkTreeModel *model; gchar *stream; if (gtk_tree_selection_get_selected(selection, &model, &iter)) { ReadConfigFromWindow(); gtk_tree_model_get(model, &iter, 0, &stream, -1); DisplayStreamData(stream); g_free(stream); }}static void delete_event (GtkWidget *widget, gpointer *data){ // stop the flow (which gets rid of the preview, before we gtk_main_quit AVFlow->Stop(); ReadConfigFromWindow(); delete AVFlow; // SDL_DestroyMutex(dialog_mutex); gtk_main_quit();}#ifndef HAVE_SRTPstatic const char *addr_button_label = "Set Address";#elsestatic const char *addr_button_label = "Set Addr/SRTP Params";#endifstatic GtkWidget *create_MainWindow (void){ GtkWidget *MainWindow; GtkWidget *vbox1; GtkWidget *menubar1; GtkWidget *menuitem1; GtkWidget *menuitem1_menu; GtkWidget *new1; GtkWidget *open1; GtkWidget *save1; GtkWidget *separatormenuitem1; GtkWidget *quit1; GtkWidget *menuitem2; GtkWidget *menuitem2_menu; GtkWidget *generate_addresses; GtkWidget *generate_sdp; GtkWidget *separator1; GtkWidget *restart_recording; GtkWidget *separator3; GtkWidget *preferences1; GtkWidget *menuitem4; GtkWidget *menuitem4_menu; GtkWidget *about1; GtkWidget *InputFrame; GtkWidget *hbox97; GtkWidget *vbox41; GtkWidget *hbox100; GtkWidget *label189; GtkWidget *VideoSourceLabel; GtkWidget *hbox101; GtkWidget *label190; GtkWidget *AudioSourceLabel; GtkWidget *VideoSourcePreview; GtkWidget *hbox98; GtkWidget *SourceOptionMenu; GtkWidget *menu14; GtkWidget *Change; GtkWidget *separator2; GtkWidget *VideoSourceMenu; GtkWidget *image27; GtkWidget *AudioSourceMenu; GtkWidget *image28;#ifdef HAVE_TEXT GtkWidget *TextSourceMenu; GtkWidget *image29;#endif GtkWidget *picture_settings; GtkWidget *image32; GtkWidget *label184; GtkWidget *vbox40; GtkWidget *hbox99; GtkWidget *StreamInfoFrame; GtkWidget *hpaned1; GtkWidget *StreamVbox; GtkWidget *stream_label; GtkWidget *StreamScrolledWindow; GtkWidget *StreamTreeView; GtkWidget *hbuttonbox1; GtkWidget *AddStreamButton; GtkWidget *image1; GtkWidget *DeleteStreamButton; GtkWidget *image2; GtkWidget *StreamInfoVbox; GtkWidget *StreamVideoInfo; GtkWidget *StreamAudioInfo; GtkWidget *hbox34; GtkWidget *label47; GtkWidget *StreamFps; GtkWidget *hbox33; GtkWidget *label45; GtkWidget *StreamRecording; GtkWidget *InfoVbox; GtkWidget *StreamFrame; GtkWidget *StreamFrameVbox; GtkWidget *StreamNameHbox; GtkWidget *label3; GtkWidget *StreamNameLabel; GtkWidget *StreamCaptionHbox; GtkWidget *label32; GtkWidget *StreamCaption; GtkWidget *StreamDescHbox; GtkWidget *label31; GtkWidget *StreamDescription; GtkWidget *StreamTransmitHbox; GtkWidget *StreamTransmit; GtkWidget *StreamSdpFile; GtkWidget *StreamSdpFileEntry; GtkWidget *label30; GtkWidget *SDPFileOpenButton; GtkWidget *alignment22; GtkWidget *hbox81; GtkWidget *image22; GtkWidget *label167; GtkWidget *StreamRecordHbox; GtkWidget *StreamRecord; GtkWidget *RecordFileHbox; GtkWidget *label4; GtkWidget *StreamRecordFileEntry; GtkWidget *RecordFileOpenButton; GtkWidget *alignment23; GtkWidget *hbox82; GtkWidget *image23; GtkWidget *label168; GtkWidget *label2; GtkWidget *VideoFrame; GtkWidget *VideoFrameVbox; GtkWidget *VideoFrameHbox1; GtkWidget *VideoEnabled; GtkWidget *hbox7; GtkWidget *label6; GtkWidget *VideoProfile; GtkWidget *menu5; GtkWidget *StreamVideoPreview; GtkWidget *VideoTxTable; GtkWidget *label124; GtkWidget *VideoTxAddrLabel; GtkWidget *VideoTxAddrButton; GtkWidget *label5; GtkWidget *AudioFrame; GtkWidget *AudioFrameVbox; GtkWidget *AudioFrameLine1; GtkWidget *AudioEnabled; GtkWidget *hbox15; GtkWidget *label12; GtkWidget *AudioProfile; GtkWidget *menu6; GtkWidget *AudioTxTable; GtkWidget *label126; GtkWidget *AudioTxAddrLabel; GtkWidget *AudioTxAddrButton; GtkWidget *label9;#ifdef HAVE_TEXT GtkWidget *hbox102; GtkWidget *label192; GtkWidget *TextSourceLabel; GtkWidget *StreamTextInfo; GtkWidget *TextFrame; GtkWidget *TextFrameVbox; GtkWidget *TextFrameHbox1; GtkWidget *TextEnabled; GtkWidget *hbox17; GtkWidget *label13; GtkWidget *TextProfile; GtkWidget *menu7; GtkWidget *TextTxTable; GtkWidget *label128; GtkWidget *TextTxAddrLabel; GtkWidget *TextTxAddrButton; GtkWidget *label16;#ifdef HAVE_TEXT_ENTRY GtkWidget *TextEntryFrame; GtkWidget *TextEntryHbox; GtkWidget *label51; GtkWidget *TextEntry; GtkWidget *TextEntrySend; GtkWidget *label52;#endif#endif GtkWidget *label114; GtkWidget *StatusFrame; GtkWidget *StatusHbox; GtkWidget *DurationHbox; GtkObject *Duration_adj; GtkWidget *Duration; GtkWidget *DurationLabel; GtkWidget *vbox37; GtkWidget *DurationType; GtkWidget *DurationMenu; GtkWidget *menuitem23; GtkWidget *menuitem24; GtkWidget *menuitem25; GtkWidget *menuitem26; GtkWidget *menuitem27; GtkWidget *vseparator1; GtkWidget *TimeTable; GtkWidget *label116; GtkWidget *label117; GtkWidget *label118; GtkWidget *label119; GtkWidget *CurrentDurationLabel; GtkWidget *CurrentTimeLabel; GtkWidget *EndTimeLabel; GtkWidget *StartTimeSuffix; GtkWidget *StartTimeLabel; GtkWidget *label183; GtkWidget *CurrentTimeSuffix; GtkWidget *EndTimeSuffix; GtkWidget *vseparator2; GtkWidget *vbox34; GtkWidget *StartButton; GtkWidget *label164; GtkWidget *statusbar1; GtkAccelGroup *accel_group; tooltips = gtk_tooltips_new(); accel_group = gtk_accel_group_new(); MainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); vbox1 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox1); gtk_container_add(GTK_CONTAINER(MainWindow), vbox1); menubar1 = gtk_menu_bar_new(); gtk_widget_show(menubar1); gtk_box_pack_start(GTK_BOX(vbox1), menubar1, FALSE, FALSE, 0); menuitem1 = gtk_menu_item_new_with_mnemonic(_("_File")); gtk_widget_show(menuitem1); gtk_container_add(GTK_CONTAINER(menubar1), menuitem1); menuitem1_menu = gtk_menu_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem1), menuitem1_menu); new1 = gtk_image_menu_item_new_from_stock("gtk-new", accel_group); gtk_widget_show(new1); gtk_container_add(GTK_CONTAINER(menuitem1_menu), new1); open1 = gtk_image_menu_item_new_from_stock("gtk-open", accel_group); gtk_widget_show(open1); gtk_container_add(GTK_CONTAINER(menuitem1_menu), open1); save1 = gtk_image_menu_item_new_from_stock("gtk-save", accel_group); gtk_widget_show(save1); gtk_container_add(GTK_CONTAINER(menuitem1_menu), save1); separatormenuitem1 = gtk_menu_item_new(); gtk_widget_show(separatormenuitem1); gtk_container_add(GTK_CONTAINER(menuitem1_menu), separatormenuitem1); gtk_widget_set_sensitive(separatormenuitem1, FALSE); quit1 = gtk_image_menu_item_new_from_stock("gtk-quit", accel_group); gtk_widget_show(quit1); gtk_container_add(GTK_CONTAINER(menuitem1_menu), quit1); menuitem2 = gtk_menu_item_new_with_mnemonic(_("_Edit")); gtk_widget_show(menuitem2); gtk_container_add(GTK_CONTAINER(menubar1), menuitem2); menuitem2_menu = gtk_menu_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem2), menuitem2_menu); generate_addresses = gtk_menu_item_new_with_mnemonic(_("_Generate Addresses")); gtk_widget_show(generate_addresses); gtk_container_add(GTK_CONTAINER(menuitem2_menu), generate_addresses); separator1 = gtk_menu_item_new(); gtk_widget_show(separator1); gtk_container_add(GTK_CONTAINER(menuitem2_menu), separator1); gtk_widget_set_sensitive(separator1, FALSE); generate_sdp = gtk_menu_item_new_with_mnemonic(_("_Generate SDP Files")); gtk_widget_show(generate_sdp); gtk_container_add(GTK_CONTAINER(menuitem2_menu), generate_sdp); separator1 = gtk_menu_item_new(); gtk_widget_show(separator1); gtk_container_add(GTK_CONTAINER(menuitem2_menu), separator1); gtk_widget_set_sensitive(separator1, FALSE); restart_recording = gtk_menu_item_new_with_mnemonic(_("_Restart Recording")); gtk_widget_show(restart_recording); gtk_container_add(GTK_CONTAINER(menuitem2_menu), restart_recording); gtk_widget_set_sensitive(restart_recording, FALSE); separator3 = gtk_menu_item_new(); gtk_widget_show(separator3); gtk_container_add(GTK_CONTAINER(menuitem2_menu), separator3); gtk_widget_set_sensitive(separator3, FALSE); preferences1 = gtk_image_menu_item_new_from_stock("gtk-preferences", accel_group); gtk_widget_show(preferences1); gtk_container_add(GTK_CONTAINER(menuitem2_menu), preferences1); menuitem4 = gtk_menu_item_new_with_mnemonic(_("_Help")); gtk_widget_show(menuitem4); gtk_container_add(GTK_CONTAINER(menubar1), menuitem4); menuitem4_menu = gtk_menu_new(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem4), menuitem4_menu); about1 = gtk_menu_item_new_with_mnemonic(_("_About")); gtk_widget_show(about1); gtk_container_add(GTK_CONTAINER(menuitem4_menu), about1); InputFrame = gtk_frame_new(NULL); gtk_widget_show(InputFrame); gtk_box_pack_start(GTK_BOX(vbox1), InputFrame, TRUE, TRUE, 0); hbox97 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox97); gtk_container_add(GTK_CONTAINER(InputFrame), hbox97); vbox41 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox41); gtk_box_pack_start(GTK_BOX(hbox97), vbox41, TRUE, TRUE, 0); hbox100 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox100); gtk_box_pack_start(GTK_BOX(vbox41), hbox100, FALSE, FALSE, 0); label189 = gtk_label_new(_("Video Source: ")); gtk_widget_show(label189); gtk_box_pack_start(GTK_BOX(hbox100), label189, FALSE, FALSE, 5); VideoSourceLabel = gtk_label_new(""); gtk_widget_show(VideoSourceLabel); gtk_box_pack_start(GTK_BOX(hbox100), VideoSourceLabel, FALSE, FALSE, 4); hbox101 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox101); gtk_box_pack_start(GTK_BOX(vbox41), hbox101, FALSE, FALSE, 0); label190 = gtk_label_new(_("Audio Source: ")); gtk_widget_show(label190); gtk_box_pack_start(GTK_BOX(hbox101), label190, FALSE, FALSE, 5); AudioSourceLabel = gtk_label_new(""); gtk_widget_show(AudioSourceLabel); gtk_box_pack_start(GTK_BOX(hbox101), AudioSourceLabel, FALSE, FALSE, 4);#ifdef HAVE_TEXT hbox102 = gtk_hbox_new(FALSE, 0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -