kopia lustrzana https://github.com/windytan/slowrx
move gui objects into a struct
rodzic
d556f1ac5f
commit
64ac62bb05
24
common.c
24
common.c
|
@ -28,7 +28,9 @@ bool Abort = false;
|
|||
|
||||
pthread_t thread1;
|
||||
|
||||
GtkWidget *RxImage = NULL;
|
||||
GuiObjs gui;
|
||||
|
||||
/*GtkWidget *RxImage = NULL;
|
||||
GtkWidget *statusbar = NULL;
|
||||
GtkWidget *vugrid = NULL;
|
||||
GtkWidget *utclabel = NULL;
|
||||
|
@ -47,7 +49,7 @@ GtkWidget *shiftspin = NULL;
|
|||
GtkWidget *pwrimage = NULL;
|
||||
GtkWidget *snrimage = NULL;
|
||||
GtkWidget *idlabel = NULL;
|
||||
GtkWidget *devstatusicon = NULL;
|
||||
GtkWidget *devstatusicon = NULL;*/
|
||||
|
||||
GdkPixbuf *RxPixbuf = NULL;
|
||||
GdkPixbuf *DispPixbuf = NULL;
|
||||
|
@ -87,7 +89,7 @@ void delete_event() {
|
|||
|
||||
// Transform the NoiseAdapt toggle state into a variable
|
||||
void GetAdaptive() {
|
||||
Adaptive = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(togadapt));
|
||||
Adaptive = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(gui.togadapt));
|
||||
}
|
||||
|
||||
// Manual Start clicked
|
||||
|
@ -111,25 +113,25 @@ void changeDevices() {
|
|||
|
||||
if (pcm_handle != NULL) snd_pcm_close(pcm_handle);
|
||||
|
||||
status = initPcmDevice(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(cardcombo)));
|
||||
status = initPcmDevice(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(gui.cardcombo)));
|
||||
|
||||
|
||||
switch(status) {
|
||||
case 0:
|
||||
gtk_image_set_from_stock(GTK_IMAGE(devstatusicon),GTK_STOCK_YES,GTK_ICON_SIZE_SMALL_TOOLBAR);
|
||||
gtk_widget_set_tooltip_text(devstatusicon, "Device successfully opened");
|
||||
gtk_image_set_from_stock(GTK_IMAGE(gui.devstatusicon),GTK_STOCK_YES,GTK_ICON_SIZE_SMALL_TOOLBAR);
|
||||
gtk_widget_set_tooltip_text(gui.devstatusicon, "Device successfully opened");
|
||||
break;
|
||||
case -1:
|
||||
gtk_image_set_from_stock(GTK_IMAGE(devstatusicon),GTK_STOCK_DIALOG_WARNING,GTK_ICON_SIZE_SMALL_TOOLBAR);
|
||||
gtk_widget_set_tooltip_text(devstatusicon, "Device was opened, but doesn't support 44100 Hz");
|
||||
gtk_image_set_from_stock(GTK_IMAGE(gui.devstatusicon),GTK_STOCK_DIALOG_WARNING,GTK_ICON_SIZE_SMALL_TOOLBAR);
|
||||
gtk_widget_set_tooltip_text(gui.devstatusicon, "Device was opened, but doesn't support 44100 Hz");
|
||||
break;
|
||||
case -2:
|
||||
gtk_image_set_from_stock(GTK_IMAGE(devstatusicon),GTK_STOCK_NO,GTK_ICON_SIZE_SMALL_TOOLBAR);
|
||||
gtk_widget_set_tooltip_text(devstatusicon, "Failed to open device");
|
||||
gtk_image_set_from_stock(GTK_IMAGE(gui.devstatusicon),GTK_STOCK_NO,GTK_ICON_SIZE_SMALL_TOOLBAR);
|
||||
gtk_widget_set_tooltip_text(gui.devstatusicon, "Failed to open device");
|
||||
break;
|
||||
}
|
||||
|
||||
g_key_file_set_string(keyfile,"slowrx","device",gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(cardcombo)));
|
||||
g_key_file_set_string(keyfile,"slowrx","device",gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(gui.cardcombo)));
|
||||
|
||||
pthread_create (&thread1, NULL, Listen, NULL);
|
||||
|
||||
|
|
47
common.h
47
common.h
|
@ -21,27 +21,32 @@ extern bool Abort;
|
|||
extern bool *HasSync;
|
||||
|
||||
extern pthread_t thread1;
|
||||
extern GtkWidget *RxImage;
|
||||
extern GtkWidget *statusbar;
|
||||
extern GtkWidget *vugrid;
|
||||
extern GtkWidget *infolabel;
|
||||
extern GtkWidget *utclabel;
|
||||
extern GtkWidget *lastmodelabel;
|
||||
extern GtkWidget *cardcombo;
|
||||
extern GtkWidget *modecombo;
|
||||
extern GtkWidget *togslant;
|
||||
extern GtkWidget *togsave;
|
||||
extern GtkWidget *togadapt;
|
||||
extern GtkWidget *togrx;
|
||||
extern GtkWidget *togfsk;
|
||||
extern GtkWidget *btnabort;
|
||||
extern GtkWidget *btnstart;
|
||||
extern GtkWidget *manualframe;
|
||||
extern GtkWidget *shiftspin;
|
||||
extern GtkWidget *pwrimage;
|
||||
extern GtkWidget *snrimage;
|
||||
extern GtkWidget *idlabel;
|
||||
extern GtkWidget *devstatusicon;
|
||||
|
||||
typedef struct _GuiObjs GuiObjs;
|
||||
struct _GuiObjs {
|
||||
GtkWidget *RxImage;
|
||||
GtkWidget *statusbar;
|
||||
GtkWidget *vugrid;
|
||||
GtkWidget *infolabel;
|
||||
GtkWidget *utclabel;
|
||||
GtkWidget *lastmodelabel;
|
||||
GtkWidget *cardcombo;
|
||||
GtkWidget *modecombo;
|
||||
GtkWidget *togslant;
|
||||
GtkWidget *togsave;
|
||||
GtkWidget *togadapt;
|
||||
GtkWidget *togrx;
|
||||
GtkWidget *togfsk;
|
||||
GtkWidget *btnabort;
|
||||
GtkWidget *btnstart;
|
||||
GtkWidget *manualframe;
|
||||
GtkWidget *shiftspin;
|
||||
GtkWidget *pwrimage;
|
||||
GtkWidget *snrimage;
|
||||
GtkWidget *idlabel;
|
||||
GtkWidget *devstatusicon;
|
||||
};
|
||||
extern GuiObjs gui;
|
||||
|
||||
extern GdkPixbuf *pixbufPWR;
|
||||
extern GdkPixbuf *pixbufSNR;
|
||||
|
|
70
gui.c
70
gui.c
|
@ -15,12 +15,13 @@ void createGUI() {
|
|||
GtkBuilder *builder;
|
||||
GtkWidget *quititem, *aboutitem, *prefitem;
|
||||
GtkWidget *mainwindow, *aboutdialog, *prefdialog;
|
||||
GtkWidget *iconview;
|
||||
|
||||
builder = gtk_builder_new();
|
||||
gtk_builder_add_from_file(builder, "slowrx.ui", NULL);
|
||||
gtk_builder_add_from_file(builder, "aboutdialog.ui", NULL);
|
||||
// gtk_builder_add_from_file(builder, "prefs.ui", NULL);
|
||||
|
||||
|
||||
mainwindow = GTK_WIDGET(gtk_builder_get_object(builder,"mainwindow"));
|
||||
aboutdialog = GTK_WIDGET(gtk_builder_get_object(builder,"aboutdialog"));
|
||||
// prefdialog = GTK_WIDGET(gtk_builder_get_object(builder,"prefdialog"));
|
||||
|
@ -29,47 +30,38 @@ void createGUI() {
|
|||
// prefitem = GTK_WIDGET(gtk_builder_get_object(builder,"prefmenuitem"));
|
||||
aboutitem = GTK_WIDGET(gtk_builder_get_object(builder,"aboutitem"));
|
||||
|
||||
vugrid = GTK_WIDGET(gtk_builder_get_object(builder,"vugrid"));
|
||||
RxImage = GTK_WIDGET(gtk_builder_get_object(builder,"RxImage"));
|
||||
statusbar = GTK_WIDGET(gtk_builder_get_object(builder,"statusbar"));
|
||||
utclabel = GTK_WIDGET(gtk_builder_get_object(builder,"utclabel"));
|
||||
lastmodelabel = GTK_WIDGET(gtk_builder_get_object(builder,"lastmodelabel"));
|
||||
cardcombo = GTK_WIDGET(gtk_builder_get_object(builder,"cardcombo"));
|
||||
togslant = GTK_WIDGET(gtk_builder_get_object(builder,"TogSlant"));
|
||||
togsave = GTK_WIDGET(gtk_builder_get_object(builder,"TogSave"));
|
||||
togadapt = GTK_WIDGET(gtk_builder_get_object(builder,"TogAdapt"));
|
||||
togrx = GTK_WIDGET(gtk_builder_get_object(builder,"TogRx"));
|
||||
togfsk = GTK_WIDGET(gtk_builder_get_object(builder,"TogFSK"));
|
||||
modecombo = GTK_WIDGET(gtk_builder_get_object(builder,"modecombo"));
|
||||
btnabort = GTK_WIDGET(gtk_builder_get_object(builder,"BtnAbort"));
|
||||
btnstart = GTK_WIDGET(gtk_builder_get_object(builder,"BtnStart"));
|
||||
manualframe = GTK_WIDGET(gtk_builder_get_object(builder,"ManualFrame"));
|
||||
shiftspin = GTK_WIDGET(gtk_builder_get_object(builder,"ShiftSpin"));
|
||||
pwrimage = GTK_WIDGET(gtk_builder_get_object(builder,"PowerImage"));
|
||||
snrimage = GTK_WIDGET(gtk_builder_get_object(builder,"SNRImage"));
|
||||
idlabel = GTK_WIDGET(gtk_builder_get_object(builder,"IDLabel"));
|
||||
GtkWidget *iconview;
|
||||
iconview = GTK_WIDGET(gtk_builder_get_object(builder,"SavedIconView"));
|
||||
devstatusicon = GTK_WIDGET(gtk_builder_get_object(builder,"devstatusicon"));
|
||||
gui.vugrid = GTK_WIDGET(gtk_builder_get_object(builder,"vugrid"));
|
||||
gui.RxImage = GTK_WIDGET(gtk_builder_get_object(builder,"RxImage"));
|
||||
gui.statusbar = GTK_WIDGET(gtk_builder_get_object(builder,"statusbar"));
|
||||
gui.utclabel = GTK_WIDGET(gtk_builder_get_object(builder,"utclabel"));
|
||||
gui.lastmodelabel = GTK_WIDGET(gtk_builder_get_object(builder,"lastmodelabel"));
|
||||
gui.cardcombo = GTK_WIDGET(gtk_builder_get_object(builder,"cardcombo"));
|
||||
gui.togslant = GTK_WIDGET(gtk_builder_get_object(builder,"TogSlant"));
|
||||
gui.togsave = GTK_WIDGET(gtk_builder_get_object(builder,"TogSave"));
|
||||
gui.togadapt = GTK_WIDGET(gtk_builder_get_object(builder,"TogAdapt"));
|
||||
gui.togrx = GTK_WIDGET(gtk_builder_get_object(builder,"TogRx"));
|
||||
gui.togfsk = GTK_WIDGET(gtk_builder_get_object(builder,"TogFSK"));
|
||||
gui.modecombo = GTK_WIDGET(gtk_builder_get_object(builder,"modecombo"));
|
||||
gui.btnabort = GTK_WIDGET(gtk_builder_get_object(builder,"BtnAbort"));
|
||||
gui.btnstart = GTK_WIDGET(gtk_builder_get_object(builder,"BtnStart"));
|
||||
gui.manualframe = GTK_WIDGET(gtk_builder_get_object(builder,"ManualFrame"));
|
||||
gui.shiftspin = GTK_WIDGET(gtk_builder_get_object(builder,"ShiftSpin"));
|
||||
gui.pwrimage = GTK_WIDGET(gtk_builder_get_object(builder,"PowerImage"));
|
||||
gui.snrimage = GTK_WIDGET(gtk_builder_get_object(builder,"SNRImage"));
|
||||
gui.idlabel = GTK_WIDGET(gtk_builder_get_object(builder,"IDLabel"));
|
||||
gui.devstatusicon = GTK_WIDGET(gtk_builder_get_object(builder,"devstatusicon"));
|
||||
|
||||
iconview = GTK_WIDGET(gtk_builder_get_object(builder,"SavedIconView"));
|
||||
|
||||
g_signal_connect (quititem, "activate", G_CALLBACK(delete_event), NULL);
|
||||
g_signal_connect (mainwindow, "delete-event", G_CALLBACK(delete_event), NULL);
|
||||
g_signal_connect_swapped(aboutitem, "activate", G_CALLBACK(gtk_widget_show_all), aboutdialog);
|
||||
// g_signal_connect_swapped(prefitem, "activate", G_CALLBACK(gtk_widget_show_all), prefdialog);
|
||||
g_signal_connect_swapped(aboutdialog, "close", G_CALLBACK(gtk_widget_hide), aboutdialog);
|
||||
g_signal_connect_swapped(togadapt, "toggled", G_CALLBACK(GetAdaptive), NULL);
|
||||
g_signal_connect (btnstart, "clicked", G_CALLBACK(ManualStart), NULL);
|
||||
g_signal_connect (btnabort, "clicked", G_CALLBACK(AbortRx), NULL);
|
||||
g_signal_connect (cardcombo, "changed", G_CALLBACK(changeDevices), NULL);
|
||||
|
||||
|
||||
//gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(togslant), true);
|
||||
//gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(togsave), true);
|
||||
//gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(togadapt), true);
|
||||
//gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(togrx), true);
|
||||
//gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(togfsk), true);
|
||||
//gtk_combo_box_set_active (GTK_COMBO_BOX(modecombo), 0);
|
||||
//gtk_widget_set_sensitive (btnabort, false);
|
||||
g_signal_connect_swapped(gui.togadapt, "toggled", G_CALLBACK(GetAdaptive), NULL);
|
||||
g_signal_connect (gui.btnstart, "clicked", G_CALLBACK(ManualStart), NULL);
|
||||
g_signal_connect (gui.btnabort, "clicked", G_CALLBACK(AbortRx), NULL);
|
||||
g_signal_connect (gui.cardcombo, "changed", G_CALLBACK(changeDevices), NULL);
|
||||
|
||||
savedstore = gtk_list_store_new (2, GDK_TYPE_PIXBUF, G_TYPE_STRING);
|
||||
gtk_icon_view_set_model (GTK_ICON_VIEW(iconview), GTK_TREE_MODEL(savedstore));
|
||||
|
@ -79,7 +71,7 @@ void createGUI() {
|
|||
RxPixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, false, 8, 320, 256);
|
||||
gdk_pixbuf_fill(RxPixbuf, 0x666666ff);
|
||||
DispPixbuf = gdk_pixbuf_scale_simple (RxPixbuf, 500, 400, GDK_INTERP_BILINEAR);
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(RxImage), DispPixbuf);
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(gui.RxImage), DispPixbuf);
|
||||
|
||||
pixbufPWR = gdk_pixbuf_new (GDK_COLORSPACE_RGB, false, 8, 100, 20);
|
||||
pixbufSNR = gdk_pixbuf_new (GDK_COLORSPACE_RGB, false, 8, 100, 20);
|
||||
|
@ -136,8 +128,8 @@ void setVU (short int PcmValue, double SNRdB) {
|
|||
}
|
||||
|
||||
gdk_threads_enter();
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(pwrimage), pixbufPWR);
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(snrimage), pixbufSNR);
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(gui.pwrimage), pixbufPWR);
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(gui.snrimage), pixbufSNR);
|
||||
gdk_threads_leave();
|
||||
|
||||
}
|
||||
|
|
8
pcm.c
8
pcm.c
|
@ -56,10 +56,10 @@ void readPcm(gint numsamples) {
|
|||
void populateDeviceList() {
|
||||
int card;
|
||||
char *cardname;
|
||||
int cardnum, numcards, row;
|
||||
int numcards, row;
|
||||
|
||||
gdk_threads_enter();
|
||||
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cardcombo), "default");
|
||||
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(gui.cardcombo), "default");
|
||||
gdk_threads_leave();
|
||||
|
||||
numcards = 0;
|
||||
|
@ -71,9 +71,9 @@ void populateDeviceList() {
|
|||
row++;
|
||||
snd_card_get_name(card,&cardname);
|
||||
gdk_threads_enter();
|
||||
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cardcombo), cardname);
|
||||
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(gui.cardcombo), cardname);
|
||||
if (strcmp(cardname,g_key_file_get_string(keyfile,"slowrx","device",NULL)) == 0)
|
||||
gtk_combo_box_set_active(GTK_COMBO_BOX(cardcombo), row);
|
||||
gtk_combo_box_set_active(GTK_COMBO_BOX(gui.cardcombo), row);
|
||||
|
||||
gdk_threads_leave();
|
||||
numcards++;
|
||||
|
|
44
slowrx.c
44
slowrx.c
|
@ -71,8 +71,8 @@ void *Listen() {
|
|||
while (true) {
|
||||
|
||||
gdk_threads_enter ();
|
||||
gtk_widget_set_sensitive (vugrid, true);
|
||||
gtk_widget_set_sensitive (btnabort, false);
|
||||
gtk_widget_set_sensitive (gui.vugrid, true);
|
||||
gtk_widget_set_sensitive (gui.btnabort, false);
|
||||
gdk_threads_leave ();
|
||||
|
||||
HedrShift = 0;
|
||||
|
@ -118,51 +118,51 @@ void *Listen() {
|
|||
strftime(rctime, sizeof(rctime)-1, "%H:%Mz", timeptr);
|
||||
snprintf(infostr, sizeof(infostr)-1, "%s, %s UTC", ModeSpec[Mode].Name, rctime);
|
||||
gdk_threads_enter ();
|
||||
gtk_label_set_text (GTK_LABEL(idlabel), "");
|
||||
gtk_widget_set_sensitive (manualframe, false);
|
||||
gtk_widget_set_sensitive (btnabort, true);
|
||||
gtk_statusbar_push (GTK_STATUSBAR(statusbar), 0, "Receiving video..." );
|
||||
gtk_label_set_markup (GTK_LABEL(lastmodelabel), ModeSpec[Mode].Name);
|
||||
gtk_label_set_markup (GTK_LABEL(utclabel), rctime);
|
||||
gtk_label_set_text (GTK_LABEL(gui.idlabel), "");
|
||||
gtk_widget_set_sensitive (gui.manualframe, false);
|
||||
gtk_widget_set_sensitive (gui.btnabort, true);
|
||||
gtk_statusbar_push (GTK_STATUSBAR(gui.statusbar), 0, "Receiving video..." );
|
||||
gtk_label_set_markup (GTK_LABEL(gui.lastmodelabel), ModeSpec[Mode].Name);
|
||||
gtk_label_set_markup (GTK_LABEL(gui.utclabel), rctime);
|
||||
gdk_threads_leave ();
|
||||
printf(" getvideo @ %.1f Hz, Skip %d, HedrShift %d Hz\n", 44100.0, 0, HedrShift);
|
||||
|
||||
Finished = GetVideo(Mode, 44100, 0, false);
|
||||
|
||||
gdk_threads_enter ();
|
||||
gtk_widget_set_sensitive (btnabort, false);
|
||||
gtk_widget_set_sensitive (manualframe, true);
|
||||
gtk_widget_set_sensitive (gui.btnabort, false);
|
||||
gtk_widget_set_sensitive (gui.manualframe, true);
|
||||
gdk_threads_leave ();
|
||||
|
||||
id[0] = '\0';
|
||||
|
||||
if (Finished && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(togfsk))) {
|
||||
if (Finished && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gui.togfsk))) {
|
||||
gdk_threads_enter ();
|
||||
gtk_statusbar_push (GTK_STATUSBAR(statusbar), 0, "Receiving FSK ID..." );
|
||||
gtk_statusbar_push (GTK_STATUSBAR(gui.statusbar), 0, "Receiving FSK ID..." );
|
||||
gdk_threads_leave ();
|
||||
GetFSK(id);
|
||||
printf(" FSKID \"%s\"\n",id);
|
||||
gdk_threads_enter ();
|
||||
gtk_label_set_text (GTK_LABEL(idlabel), id);
|
||||
gtk_label_set_text (GTK_LABEL(gui.idlabel), id);
|
||||
gdk_threads_leave ();
|
||||
}
|
||||
|
||||
snd_pcm_drop(pcm_handle);
|
||||
|
||||
if (Finished && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(togslant))) {
|
||||
if (Finished && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gui.togslant))) {
|
||||
|
||||
// Fix slant
|
||||
setVU(0,-100);
|
||||
gdk_threads_enter ();
|
||||
gtk_statusbar_push (GTK_STATUSBAR(statusbar), 0, "Calculating slant..." );
|
||||
gtk_widget_set_sensitive (vugrid, false);
|
||||
gtk_statusbar_push (GTK_STATUSBAR(gui.statusbar), 0, "Calculating slant..." );
|
||||
gtk_widget_set_sensitive (gui.vugrid, false);
|
||||
gdk_threads_leave ();
|
||||
printf(" FindSync @ %.1f Hz\n",Rate);
|
||||
Rate = FindSync(Mode, Rate, &Skip);
|
||||
|
||||
// Final image
|
||||
gdk_threads_enter ();
|
||||
gtk_statusbar_push (GTK_STATUSBAR(statusbar), 0, "Redrawing..." );
|
||||
gtk_statusbar_push (GTK_STATUSBAR(gui.statusbar), 0, "Redrawing..." );
|
||||
gdk_threads_leave ();
|
||||
printf(" getvideo @ %.1f Hz, Skip %d, HedrShift %d Hz\n", Rate, Skip, HedrShift);
|
||||
GetVideo(Mode, Rate, Skip, true);
|
||||
|
@ -179,21 +179,19 @@ void *Listen() {
|
|||
gtk_list_store_set (savedstore, &iter, 0, thumbbuf, 1, id, -1);
|
||||
gdk_threads_leave ();
|
||||
|
||||
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(togsave))) {
|
||||
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(gui.togsave))) {
|
||||
|
||||
// Save the raw signal
|
||||
gdk_threads_enter ();
|
||||
gtk_statusbar_push (GTK_STATUSBAR(statusbar), 0, "Saving..." );
|
||||
gtk_statusbar_push (GTK_STATUSBAR(gui.statusbar), 0, "Saving..." );
|
||||
gdk_threads_leave ();
|
||||
|
||||
setVU(0,-100);
|
||||
|
||||
ensure_dir_exists("rx-lum");
|
||||
LumFile = fopen(lumfilename,"w");
|
||||
if (LumFile == NULL) {
|
||||
if (LumFile == NULL)
|
||||
perror("Unable to open luma file for writing");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
fwrite(StoredLum,1,(ModeSpec[Mode].LineLen * ModeSpec[Mode].ImgHeight) * 44100,LumFile);
|
||||
fclose(LumFile);
|
||||
|
||||
|
@ -255,7 +253,7 @@ int main(int argc, char *argv[]) {
|
|||
}
|
||||
confdata = g_key_file_to_data(keyfile,keylen,NULL);
|
||||
fprintf(ConfFile,"%s",confdata);
|
||||
// fwrite(confdata,1,(size_t)keylen,ConfFile);
|
||||
fwrite(confdata,1,(size_t)keylen,ConfFile);
|
||||
fclose(ConfFile);
|
||||
|
||||
g_object_unref(RxPixbuf);
|
||||
|
|
4
video.c
4
video.c
|
@ -96,7 +96,7 @@ bool GetVideo(guchar Mode, double Rate, int Skip, bool Redraw) {
|
|||
500.0/ModeSpec[Mode].ImgWidth * ModeSpec[Mode].ImgHeight * ModeSpec[Mode].YScale, GDK_INTERP_BILINEAR);
|
||||
|
||||
gdk_threads_enter();
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(RxImage), DispPixbuf);
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(gui.RxImage), DispPixbuf);
|
||||
gdk_threads_leave();
|
||||
|
||||
Length = ModeSpec[Mode].LineLen * ModeSpec[Mode].ImgHeight * 44100;
|
||||
|
@ -380,7 +380,7 @@ bool GetVideo(guchar Mode, double Rate, int Skip, bool Redraw) {
|
|||
500.0/ModeSpec[Mode].ImgWidth * ModeSpec[Mode].ImgHeight * ModeSpec[Mode].YScale, GDK_INTERP_BILINEAR);
|
||||
|
||||
gdk_threads_enter();
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(RxImage), DispPixbuf);
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(gui.RxImage), DispPixbuf);
|
||||
gdk_threads_leave();
|
||||
}
|
||||
}
|
||||
|
|
14
vis.c
14
vis.c
|
@ -40,7 +40,7 @@ guchar GetVIS () {
|
|||
printf("Waiting for header\n");
|
||||
|
||||
gdk_threads_enter();
|
||||
gtk_statusbar_push( GTK_STATUSBAR(statusbar), 0, "Ready" );
|
||||
gtk_statusbar_push( GTK_STATUSBAR(gui.statusbar), 0, "Ready" );
|
||||
gdk_threads_leave();
|
||||
|
||||
while ( true ) {
|
||||
|
@ -132,8 +132,8 @@ guchar GetVIS () {
|
|||
gdk_threads_leave();
|
||||
} else {
|
||||
gdk_threads_enter();
|
||||
gtk_combo_box_set_active (GTK_COMBO_BOX(modecombo), VISmap[VIS]-1);
|
||||
gtk_spin_button_set_value (GTK_SPIN_BUTTON(shiftspin), HedrShift);
|
||||
gtk_combo_box_set_active (GTK_COMBO_BOX(gui.modecombo), VISmap[VIS]-1);
|
||||
gtk_spin_button_set_value (GTK_SPIN_BUTTON(gui.shiftspin), HedrShift);
|
||||
gdk_threads_leave();
|
||||
break;
|
||||
}
|
||||
|
@ -143,17 +143,17 @@ guchar GetVIS () {
|
|||
}
|
||||
|
||||
if (gotvis)
|
||||
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(togrx))) break;
|
||||
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gui.togrx))) break;
|
||||
|
||||
// Manual start
|
||||
if (ManualActivated) {
|
||||
|
||||
gdk_threads_enter();
|
||||
gtk_widget_set_sensitive( manualframe, false );
|
||||
gtk_widget_set_sensitive( gui.manualframe, false );
|
||||
gdk_threads_leave();
|
||||
|
||||
selmode = gtk_combo_box_get_active (GTK_COMBO_BOX(modecombo)) + 1;
|
||||
HedrShift = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(shiftspin));
|
||||
selmode = gtk_combo_box_get_active (GTK_COMBO_BOX(gui.modecombo)) + 1;
|
||||
HedrShift = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(gui.shiftspin));
|
||||
VIS = 0;
|
||||
for (i=0; i<0x80; i++) {
|
||||
if (VISmap[i] == selmode) {
|
||||
|
|
Ładowanie…
Reference in New Issue