コード例 #1
0
static gboolean
sequence_tick (gpointer *foo)
{
  GtkTreeSelection *selection;
  GtkTreePath *path;
  GtkTreeIter iter;
  gdouble perc;

  if (!current_step)
    {
      if (!sequence_next ())
        {
          gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (play_button), FALSE);
          return FALSE;
        }

      selection = gtk_tree_view_get_selection (sequence_view);
      if (!gtk_tree_selection_get_selected (selection, NULL, &iter))
        {
          return FALSE;
        }
      
      path = gtk_tree_model_get_path (GTK_TREE_MODEL (sequence_store), &iter);
  
      gtk_tree_model_get (GTK_TREE_MODEL (sequence_store), &iter,
                          COLUMN_DATA, &current_step,
                          -1);
      current_step->progress = 0;
      g_print ("new current step. time = %d\n", current_step->time);
    }

  if ((current_step->type == STEP_TYPE_DIMM ||
       current_step->type == STEP_TYPE_SLEEP) &&
       current_step->time > 0)
    {
      perc = ((gdouble) (current_step->progress) / (gdouble) current_step->time) * 0.95;

      gtk_progress_bar_update (GTK_PROGRESS_BAR (progress_bar), perc);
    }

  if (step_tick (current_step) == FALSE)
    {
      if (current_step->type == STEP_TYPE_DIMM)
        last_scene = current_step->scene;

      current_step = NULL;
      gtk_progress_bar_update (GTK_PROGRESS_BAR (progress_bar), 0);

      return TRUE;
    }

  return TRUE;
}
コード例 #2
0
ファイル: fe-gtk.c プロジェクト: UIKit0/picogui
void
fe_set_throttle (server *serv)
{
    GSList *list = sess_list;
    struct session *sess;
    float per;
    char tbuf[64];

    per = (float) serv->sendq_len / 1024.0;
    if (per > 1.0)
        per = 1.0;

    while (list)
    {
        sess = list->data;
        if (sess->server == serv)
        {
            if (sess->gui->throttlemeter)
            {
                gtk_progress_bar_update ((GtkProgressBar *) sess->gui->throttlemeter, per);
            }
            if (sess->gui->throttleinfo)
            {
                snprintf (tbuf, sizeof(tbuf) - 1, "%d bytes", serv->sendq_len);
                gtk_label_set_text ((GtkLabel *) sess->gui->throttleinfo, tbuf);
            }
        }
        list = list->next;
    }
}
コード例 #3
0
ファイル: fe-gtk.c プロジェクト: UIKit0/picogui
static int
updatedate_bar (struct session *sess)
{
    static int type = 0;
    static float pos = 0;

    if (!is_session (sess))
        return 0;

    pos += 0.05;
    if (pos >= 0.99)
    {
        if (type == 0)
        {
            type = 1;
            gtk_progress_bar_set_orientation ((GtkProgressBar *) sess->gui->bar,
                                              GTK_PROGRESS_RIGHT_TO_LEFT);
        } else
        {
            type = 0;
            gtk_progress_bar_set_orientation ((GtkProgressBar *) sess->gui->bar,
                                              GTK_PROGRESS_LEFT_TO_RIGHT);
        }
        pos = 0.05;
    }
    gtk_progress_bar_update ((GtkProgressBar *) sess->gui->bar, pos);
    return 1;
}
コード例 #4
0
ファイル: lavrec_pipe.c プロジェクト: AquaSoftGmbH/mjpeg
void scene_detection_input_cb(char *input)
{
	if (strstr(input, "frame"))
	{
		int n1,n2,n3,n4;

		input = strstr(input, "frame");
		if (sscanf(input, "frame %d/%d, lum_mean %d, delta_lum %d",
			&n1, &n2, &n3, &n4) == 4)
		{
			if (scene_detection_status_label)
				gtk_label_set_text(GTK_LABEL(scene_detection_status_label),
				input);
			if (scene_detection_bar)
				gtk_progress_bar_update(GTK_PROGRESS_BAR(scene_detection_bar),
					((double)n1)/n2);
		}
	}
	else if (strncmp(input, "**ERROR:", 8) == 0)
	{
		/* error */
		stop_scene_detection_process(NULL, NULL);
		gtk_show_text_window(STUDIO_ERROR,
			"Scene detection failed, lav2yuv gave the following error: %s",
			input+9);
	}
}
コード例 #5
0
ファイル: gauge.cpp プロジェクト: CobaltBlues/wxWidgets
void wxGauge::DoSetGauge()
{
    wxASSERT_MSG( 0 <= m_gaugePos && m_gaugePos <= m_rangeMax,
                  wxT("invalid gauge position in DoSetGauge()") );

    gtk_progress_bar_update( GTK_PROGRESS_BAR(m_widget),
                             m_rangeMax ? ((float)m_gaugePos)/m_rangeMax : 0.);
}
コード例 #6
0
ファイル: thumbview.c プロジェクト: gentoo/pornview
static void
thumbview_thumbs_progressbar (gfloat value)
{
    if (value > 1.0)
	value = 1.0;
    else if (value < 0)
	value = 0;

    gtk_progress_bar_update (GTK_PROGRESS_BAR (browser->progress), value);
}
コード例 #7
0
ファイル: ReallyReStart.c プロジェクト: dkrivets/gtkgo
gfloat lprogress (gfloat pvalue)
{
  pvalue += 0.00277;
  gtk_progress_bar_update (GTK_PROGRESS_BAR (lbar), pvalue);
  while (gtk_events_pending ())
  {
    gtk_main_iteration ();
  }
  return (pvalue);
}
コード例 #8
0
ファイル: lavrec_pipe.c プロジェクト: AquaSoftGmbH/mjpeg
void scene_detection_finished()
{
	GtkWidget *dialog_window, *button, *vbox, *hbox, *label;

	if (scene_detection_button_label)
		gtk_label_set_text(GTK_LABEL(scene_detection_button_label),
		" Close ");
	if (scene_detection_bar)
		gtk_progress_bar_update(GTK_PROGRESS_BAR(scene_detection_bar),
		1.0);
	if (scene_detection_status_label)
		gtk_label_set_text(GTK_LABEL(scene_detection_status_label),
		"Scene detection finished!");

	scene_detection_button_label = NULL;
	scene_detection_status_label = NULL;
	scene_detection_bar = NULL;
	gtk_widget_destroy(scene_detection_window);

	/* ask to open eli_file */
	dialog_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	vbox = gtk_vbox_new(FALSE, 5);

	gtk_window_set_title (GTK_WINDOW(dialog_window),
		"Linux Video Studio - Question");
	gtk_container_set_border_width (GTK_CONTAINER (dialog_window), 20);

	label = gtk_label_new("Would you like to open this movie\n" \
		"in all the editor-subparts?");
	gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
	gtk_widget_show(label);

	hbox = gtk_hbox_new(TRUE, 5);
	button = gtk_button_new_with_label("Yes");
	gtk_signal_connect(GTK_OBJECT(button), "clicked",
		(GtkSignalFunc)scene_detection_open_movie, NULL);
	g_signal_connect_swapped(G_OBJECT(button), "clicked",
		G_CALLBACK(gtk_widget_destroy), G_OBJECT(dialog_window));
	gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);
	gtk_widget_show(button);
	button = gtk_button_new_with_label("No");
	g_signal_connect_swapped(G_OBJECT(button), "clicked",
		G_CALLBACK(gtk_widget_destroy), G_OBJECT(dialog_window));
	gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);
	gtk_widget_show(button);
	gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
	gtk_widget_show(hbox);

	gtk_container_add (GTK_CONTAINER (dialog_window), vbox);
	gtk_widget_show(vbox);

	gtk_grab_add(dialog_window);
	gtk_widget_show(dialog_window);
}
コード例 #9
0
void progress_change_cb(GtkMozEmbed *embed, gint cur, gint max, MinimoBrowser* browser)
{
  browser->totalBytes += cur;
  
  if (max < 1)
    gtk_progress_bar_pulse(GTK_PROGRESS_BAR(browser->progressBar));
  
  else { 
    float tmp = (cur/max);
    
    if ( tmp <= 1 && tmp >=0)
      gtk_progress_bar_update(GTK_PROGRESS_BAR(browser->progressBar), cur/max);
  }
}
コード例 #10
0
ファイル: gtk-callbacks.c プロジェクト: 2BReality/xbmc
void my_float_listener (PluginParam *param) {
  GtkProgressBar *progress;

  if (sdlGoom->config_win == 0) return;
  progress = GTK_PROGRESS_BAR(param->user_data);

  if (progress) {
    if (FVAL(*param)<FMIN(*param))
      FVAL(*param) = FMIN(*param);
    if (FVAL(*param)>FMAX(*param))
      FVAL(*param) = FMAX(*param);
    gtk_progress_bar_update (progress, FVAL(*param));
  }
}
コード例 #11
0
ファイル: aho.c プロジェクト: kengonakajima/snippets
/* この関数がプログレスバーを増加更新し、pstat が FALSE であればリセッ
トする */
gint progress (gpointer data)
{
    gfloat pvalue;
    
    /* プログレスバーの現在の値を得る */
    pvalue = GTK_PROGRESS_BAR (data)->percentage;
    
    if ((pvalue >= 1.0) || (pstat == FALSE)) {
        pvalue = 0.0;
        pstat = TRUE;
    }
    pvalue += 0.01;
    
    gtk_progress_bar_update (GTK_PROGRESS_BAR (data), pvalue);
    
    return TRUE;
}
コード例 #12
0
ファイル: fe-gtk.c プロジェクト: UIKit0/picogui
void
fe_set_lag (server *serv, int lag)
{
    GSList *list = sess_list;
    session *sess;
    gdouble per;
    char tip[64];
    unsigned long nowtim;

    if (lag == -1)
    {
        if (!serv->lag_sent)
            return;
        nowtim = make_ping_time ();
        lag = (nowtim - serv->lag_sent) / 100000;
    }

    per = (double)((double)lag / (double)40);
    if (per > 1.0)
        per = 1.0;

    while (list)
    {
        sess = list->data;
        if (sess->server == serv)
        {
            if (sess->gui->lagometer)
            {
                gtk_progress_bar_update ((GtkProgressBar *) sess->gui->lagometer, per);
            }
            if (sess->gui->laginfo)
            {
                snprintf (tip, sizeof(tip) - 1, "%s%d.%ds",
                          serv->lag_sent ? "+" : "", lag / 10, lag % 10);
                gtk_label_set_text ((GtkLabel *) sess->gui->laginfo, tip);
            }
        }
        list = list->next;
    }
}
コード例 #13
0
static void
sequence_play_clicked (void)
{
  GtkTreeSelection *selection;
  GtkTreePath *path;
  GtkTreeIter iter;

  if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (play_button)) == FALSE)
    {
      g_print ("stopping.\n");
      if (sequence_source_id > 0)
        g_source_remove (sequence_source_id);
      gtk_progress_bar_update (GTK_PROGRESS_BAR (progress_bar), 0);
      sequence_source_id = 0;
      current_step = NULL;
      audio_stop ();
      g_timeout_add (50, audio_stop_timeout, NULL);
      return;
    }

  selection = gtk_tree_view_get_selection (sequence_view);
  if (!gtk_tree_selection_get_selected (selection, NULL, &iter))
    {
      sequence_first ();
      selection = gtk_tree_view_get_selection (sequence_view);
      if (!gtk_tree_selection_get_selected (selection, NULL, &iter))
        return;
    }
  
  path = gtk_tree_model_get_path (GTK_TREE_MODEL (sequence_store), &iter);
  
  gtk_tree_model_get (GTK_TREE_MODEL (sequence_store), &iter,
                      COLUMN_DATA, &current_step,
                      -1);

  current_step->progress = 0;
  last_scene = NULL;
  g_print ("starting...\n");
  sequence_source_id = g_timeout_add (10, (GSourceFunc) sequence_tick, NULL);
}
コード例 #14
0
void
sequence_back_to_sync (void)
{
  GtkTreeIter       iter;
  GtkTreePath      *path;
  GtkTreeSelection *selection;
  Step             *last_sync = NULL, *last_dimm = NULL;
  
  if (!sequence_source_id)
    return;

  selection = gtk_tree_view_get_selection (sequence_view);

  if (!gtk_tree_selection_get_selected (selection, NULL, &iter))
    return;

  path = gtk_tree_model_get_path (GTK_TREE_MODEL (sequence_store), &iter);

  do
    {
      gtk_tree_selection_select_path (selection, path);
      if (!gtk_tree_selection_get_selected (selection, NULL, &iter))
        return;

      gtk_tree_model_get (GTK_TREE_MODEL (sequence_store), &iter,
			  COLUMN_DATA, &current_step,
			  -1);
      
      if (last_sync == NULL && current_step->type == STEP_TYPE_SYNC)
	last_sync = current_step;

      if (last_sync && current_step->type == STEP_TYPE_DIMM)
        {
          last_dimm = current_step;
          break;
        }
    }
  while (gtk_tree_path_prev (path));

  if (last_sync)
    {
      if (last_dimm && last_dimm->scene)
        {
          g_print ("back to sync: setting values from >%s<\n", last_dimm->scene->name);
          scene_send_all_values (last_dimm->scene);
        } 
      else 
        {
          gint chn[N_CHANNELS];
          gint val[N_CHANNELS];
          gint n;
          
          g_print ("back to sync: setting zero values.\n");
          
          for (n=0; n<N_CHANNELS; n++)
            {
              chn[n] = n;
              val[n] = 0;
            }
          
          output_channel_set (chn, val, N_CHANNELS);
        }

      current_step = last_sync;
      sequence_next ();
    }

  if (current_step)
    {
      current_step->progress = 0;
      last_scene = NULL;
    }

  gtk_progress_bar_update (GTK_PROGRESS_BAR (progress_bar), 0);
}
コード例 #15
0
void
x_gauge_set_value (WGauge *g, int max, int current)
{
	gtk_progress_bar_update (GTK_PROGRESS_BAR (g->widget.wdata), ((gfloat) current / (gfloat) max));
}