RE: changing the label according to time



Hi!
 
Am not sure if this could help you, but I had a similar problem and it was a matter of threads... so take a look to the functions gtk_threads_enter() and gtk_threads_leave(). If your code is being executed outside a gtk callback and you use threads, then you should add gtk_threads_enter() at the begining of the code you posted and gtk_threads_leave() at the end.
 
If that doesn't work... maybe there is some kind of "gtk_flush()" or something like that? I am sorry, I am not an expert... but I hope this could help you.
 
Best regards.
Cosmo.






Date: Fri, 7 Mar 2008 10:24:13 -0500
From: lfrench1 gmu edu
Subject: Re: changing the label according to time
To: amit bangalore07 yahoo co in
CC: gtk-list gnome org

Hi All ,  
          I am doing a project in it I want to show the lyrics of a song which is playing in the background .I use gtk label to show that lyrics .I use the gtk window to show the lyrics on it .I read a file in which I have that lyrics and the time  at which it come from the start of the play .I  sleep  for that time  I read the next line and display it on the window  with the help of the  label  .I test  that the lyrics are coming in properly  or  not so I put printf and verify that it read that lyrics according to that time .But when I try to show that lyrics in label on the windows It do not change according to time .I mean to say that it changes but not on the windows .I make 2 threads one for playing the music and other for showing that lyrics .If I regularly move the mouse cursor on the window then the lyrics changes accordingly .But if I stay ideal do not move the mouse cursor on it it do not change the lyrics .I think it do not refresh after that sleep time on its own .
I do that like follows
                label=gtk_label_new(lyrics_line);
                gtk_widget_show(label);
                gtk_fixed_put(GTK_FIXED(fixed1),label,150,470);
                gtk_widget_set_size_request(label,450,30);
                //gtk_misc_set_alignment(GTK_MISC(label),0,0.5);
                font_desc = pango_font_description_from_string("sans 15");
                gtk_widget_modify_font(label,font_desc);
                pango_font_description_free(font_desc);
                gdk_color_parse("#D5D8D4", &color);
                gtk_widget_modify_fg(label,GTK_STATE_NORMAL,&color);
                Sleep(time*100);
                gtk_widget_hide(label);

I use a while loop to read it to the end of that file .I think I am able to explain my problem .If there is any option that refresh the windows after that sleep time I think the lyrics changes properly .the lyrics are changing If there is any movement  on the windows other wise it do not change .
So there is some refreshing happens when some movement on the windows .But u can't move the mouse cursor every time .So please tell my there is some way to refresh that windows Programeticaly .
Thanks in advance .


Regards
Amit Kumar Bag

Get the freedom to save as many mails as you wish. Click here to know how.


Express yourself instantly with MSN Messenger! MSN Messenger


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]