static void
_emphasis_init_player_small(Emphasis_Player_Gui *player)
{
  Etk_Widget *wid;

  /* controls */
  wid = etk_window_new();
  etk_window_wmclass_set(ETK_WINDOW(wid),
                         "emphasis controls", "Emphasis");
  etk_window_title_set(ETK_WINDOW(wid), "Controls");
  etk_window_resize(ETK_WINDOW(wid), 10, 180);
  etk_widget_hide(wid);
  etk_signal_connect("delete-event", ETK_OBJECT(wid),
                     ETK_CALLBACK(cb_pack_quit), player);
  //etk_signal_connect_after("delete-event", ETK_OBJECT(wid),
  //                         ETK_CALLBACK(etk_main_quit), NULL);
  player->small.ctr.window = wid;
  
  /* controls */
  wid = etk_window_new();
  etk_window_wmclass_set(ETK_WINDOW(wid),
                         "emphasis cover", "Emphasis");
  etk_window_title_set(ETK_WINDOW(wid), "Cover");
  etk_window_resize(ETK_WINDOW(wid), 180, 180);
  etk_widget_hide(wid);
  etk_signal_connect("delete-event", ETK_OBJECT(wid),
                     ETK_CALLBACK(cb_pack_quit), player);
  //etk_signal_connect_after("delete-event", ETK_OBJECT(wid),
  //                         ETK_CALLBACK(etk_main_quit), NULL);
  player->small.cov.window = wid;

  player->small.packed = ETK_TRUE;
}
Exemple #2
0
void _ex_Binding_Control(Etk_Object *obj, void *data){
	control_port_t * control_port;
	control_port = (control_port_t *)mydata;
	printf("add midi to ** %s channel %i\n", control_port->control_port_name, spinnerControl_data);
	control_port->midi_pedal_link = 1;
	control_port->midi_pedal_ui = TRUE;
	etk_widget_hide(ETK_WIDGET(midi_win_control));
	adjust_rack_ui_controls();
}
Exemple #3
0
void _ex_Remove_Binding_Control(Etk_Object *obj, void *data){
	control_port_t * control_port;
	control_port = (control_port_t *)mydata;
	control_port->midi_pedal_link = NULL;
	control_port->midi_pedal_ui = FALSE;
	printf("remove midi from ** %s \n", control_port->control_port_name);
	etk_widget_hide(ETK_WIDGET(midi_win_control));
	adjust_rack_ui_controls();
}
Etk_Bool
_state_EntryImage_clicked_cb(Etk_Object *object, void *data)
{
   const char *name;

   printf("Mouse Click Signal on StateEntryImage Emitted\n");

   name = etk_entry_text_get(ETK_ENTRY(UI_StateEntry));

   if (!name || !etk_string_length_get(Cur.state)) return ETK_TRUE;

   if (!strcmp(name, Cur.state->string))
   {
      etk_widget_hide(ETK_WIDGET(UI_StateEntryImage));
      return ETK_TRUE;
   }

   /* Change state name */
   if (strcmp("default 0.00", Cur.state->string))
   {
      if (edje_edit_state_name_set(edje_o, Cur.part->string, Cur.state->string, name))
      {
         /* update tree */
         Etk_Tree_Row *row;
         row = etk_tree_selected_row_get(ETK_TREE(UI_PartsTree));
         etk_tree_row_fields_set(row,TRUE,
                                    COL_NAME, EdjeFile, "DESC.PNG", name,
                                    NULL);
         /* update Cur */
         Cur.state = etk_string_set(Cur.state, name);
         /* Hide the entry image */
         etk_widget_hide(ETK_WIDGET(UI_StateEntryImage));
      }
      else
         dialog_alert_show("<b>Wrong name format</b><br>Name must be in the form:<br>\"default 0.00\"");
   }
   else
      dialog_alert_show("You can't rename default 0.0");

   return ETK_TRUE;
}
void entropy_etk_layout_tree_show(entropy_layout_gui* gui, int visible)
{
	if (visible) {
		etk_box_append(ETK_BOX(gui->tree_shell), gui->tree, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
		etk_widget_show_all(gui->tree);
		etk_paned_position_set(ETK_PANED(gui->paned), ENTROPY_ETK_WINDOW_PANE_DEFAULT_X);
	} else {
		etk_widget_hide(gui->tree);
		etk_container_remove(ETK_WIDGET(gui->tree));
		etk_paned_position_set(ETK_PANED(gui->paned), 0);
	}
}
Exemple #6
0
/**
 * @brief Sets whether or not there is a horizontal separator between the main-area and the action-area of the dialog
 * @param dialog a dialog
 * @param has_separator ETK_TRUE to make the separator visible, ETK_FALSE to hide it
 */
void etk_dialog_has_separator_set(Etk_Dialog *dialog, Etk_Bool has_separator)
{
   if (!dialog || dialog->has_separator == has_separator)
      return;

   if (has_separator)
      etk_widget_show(dialog->separator);
   else
      etk_widget_hide(dialog->separator);
   dialog->has_separator = has_separator;
   etk_object_notify(ETK_OBJECT(dialog), "has-separator");
}
Exemple #7
0
void _ex_Binding(Etk_Object *obj, void *data){
	Etk_Tree_Row *irow;	
	Etk_Combobox_Item *active_item;
	midi_t * midibinding;
	char midi_label[255];
	irow = etk_tree_selected_row_get(rack_tree);
	active_item = etk_combobox_active_item_get(combobox);
	midibinding = (midi_t *)evas_list_nth(live_plugin->midi_data, (int)etk_tree_row_data_get(irow)-1);

	midibinding->type = (int)etk_combobox_item_data_get(active_item);
	midibinding->channel = spinner_data;
	midibinding->program = spinner1_data;
	midibinding->trow = irow;
	if(midibinding->type==1){
		sprintf(midi_label, "ch# %i PC %i", midibinding->channel, midibinding->program);
	}
	if(midibinding->type==2){
		sprintf(midi_label, "ch# %i CC %i", midibinding->channel, midibinding->program);
	}
	etk_tree_row_fields_set(irow, ETK_FALSE, col2, midi_label, NULL);
	etk_widget_hide(ETK_WIDGET(midi_win));
}
Exemple #8
0
/**
 * @brief Build all widgets for Emphasis GUI
 * @param gui A gui to initialize
 */
void
emphasis_init_gui(Emphasis_Gui *gui)
{
  gui->player = malloc(sizeof(Emphasis_Player_Gui));
  if(!gui->player)
    {
      fprintf(stderr, "Memory full\n");
      exit(1);
    }
  /* TODO : check player */
  /* TODO ; check config, state, etc */
  
  emphasis_init_player(gui->player);
  emphasis_init_menu(gui);

  if(!etk_toggle_button_active_get(ETK_TOGGLE_BUTTON(gui->player->small.media)))
    {
      etk_widget_hide(gui->player->media.window);
    }

  gui->cover_queue = NULL;
  gui->config_gui  = NULL;
}
Exemple #9
0
void EtkWidget::hide()
{
  etk_widget_hide( ETK_WIDGET(_o) );
}
void
state_frame_update(void)
{
   const char* cc;
   
   //Stop signal propagation
   etk_signal_block("text-changed", ETK_OBJECT(UI_StateEntry),
                    _group_NamesEntry_text_changed_cb, NULL);
   etk_signal_block("value-changed", ETK_OBJECT(UI_AspectMinSpinner),
                    ETK_CALLBACK(_state_AspectSpinner_value_changed_cb), NULL);
   etk_signal_block("value-changed", ETK_OBJECT(UI_AspectMaxSpinner),
                    ETK_CALLBACK(_state_AspectSpinner_value_changed_cb), NULL);
   etk_signal_block("active-item-changed", ETK_OBJECT(UI_AspectComboBox),
                    ETK_CALLBACK(_state_AspectComboBox_changed_cb), NULL);
   etk_signal_block("value-changed", ETK_OBJECT(UI_StateMinWSpinner),
                    ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL);
   etk_signal_block("value-changed", ETK_OBJECT(UI_StateMinHSpinner),
                    ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL);
   etk_signal_block("value-changed", ETK_OBJECT(UI_StateMaxWSpinner),
                    ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL);
   etk_signal_block("value-changed", ETK_OBJECT(UI_StateMaxHSpinner),
                    ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL);
   etk_signal_block("value-changed", ETK_OBJECT(UI_StateAlignVSpinner),
                    ETK_CALLBACK(_text_FontAlignSpinner_value_changed_cb),
                    (void*)STATE_ALIGNV_SPINNER);
   etk_signal_block("value-changed", ETK_OBJECT(UI_StateAlignHSpinner),
                    ETK_CALLBACK(_text_FontAlignSpinner_value_changed_cb),
                    (void*)STATE_ALIGNH_SPINNER);
   etk_signal_block("toggled", ETK_OBJECT(UI_StateVisibleCheck),
                    ETK_CALLBACK(_state_VisibleCheck_toggled_cb), NULL);
   etk_signal_block("text-changed", ETK_OBJECT(UI_StateCCEntry),
                    ETK_CALLBACK(_state_CCEntry_text_changed_cb), NULL);

   if (etk_string_length_get(Cur.state))
   {
      //Set description name & index
      etk_entry_text_set(ETK_ENTRY(UI_StateEntry),Cur.state->string);
      etk_widget_hide(ETK_WIDGET(UI_StateEntryImage));
      if (!strcmp(Cur.state->string, "default 0.00"))
         etk_widget_disabled_set(ETK_WIDGET(UI_StateEntry), ETK_TRUE);
      else
         etk_widget_disabled_set(ETK_WIDGET(UI_StateEntry), ETK_FALSE);

      //Set aspect min & max
      etk_range_value_set(ETK_RANGE(UI_AspectMinSpinner),
         edje_edit_state_aspect_min_get(edje_o, Cur.part->string, Cur.state->string));
      etk_range_value_set(ETK_RANGE(UI_AspectMaxSpinner),
         edje_edit_state_aspect_max_get(edje_o, Cur.part->string, Cur.state->string));

      //Set aspect pref Combo
      etk_combobox_active_item_set(ETK_COMBOBOX(UI_AspectComboBox),
         etk_combobox_nth_item_get(ETK_COMBOBOX(UI_AspectComboBox), 
            edje_edit_state_aspect_pref_get(edje_o, Cur.part->string, Cur.state->string)));

      //Set min e max size
      etk_range_value_set(ETK_RANGE(UI_StateMinWSpinner),
         edje_edit_state_min_w_get(edje_o, Cur.part->string, Cur.state->string));
      etk_range_value_set(ETK_RANGE(UI_StateMinHSpinner),
         edje_edit_state_min_h_get(edje_o, Cur.part->string, Cur.state->string));
      etk_range_value_set(ETK_RANGE(UI_StateMaxWSpinner),
         edje_edit_state_max_w_get(edje_o, Cur.part->string, Cur.state->string));
      etk_range_value_set(ETK_RANGE(UI_StateMaxHSpinner),
         edje_edit_state_max_h_get(edje_o, Cur.part->string, Cur.state->string));

      //Set description align & valign
      etk_range_value_set(ETK_RANGE(UI_StateAlignHSpinner),
         edje_edit_state_align_x_get(edje_o, Cur.part->string, Cur.state->string));
      etk_range_value_set(ETK_RANGE(UI_StateAlignVSpinner),
         edje_edit_state_align_y_get(edje_o, Cur.part->string, Cur.state->string));

      //Set visible checkbox
      etk_toggle_button_active_set(ETK_TOGGLE_BUTTON(UI_StateVisibleCheck),
         edje_edit_state_visible_get(edje_o, Cur.part->string, Cur.state->string));
      
      //Set Color Class Entry
      cc = edje_edit_state_color_class_get(edje_o, Cur.part->string, Cur.state->string);
      etk_entry_text_set(ETK_ENTRY(UI_StateCCEntry), cc);
      edje_edit_string_free(cc);
   }

   //ReEnable Signal Propagation
   etk_signal_unblock("text-changed", ETK_OBJECT(UI_StateEntry),
                      _group_NamesEntry_text_changed_cb, NULL);
   etk_signal_unblock("value-changed", ETK_OBJECT(UI_AspectMinSpinner),
                      ETK_CALLBACK(_state_AspectSpinner_value_changed_cb), NULL);
   etk_signal_unblock("value-changed", ETK_OBJECT(UI_AspectMaxSpinner),
                      ETK_CALLBACK(_state_AspectSpinner_value_changed_cb), NULL);
   etk_signal_unblock("active-item-changed", ETK_OBJECT(UI_AspectComboBox),
                      ETK_CALLBACK(_state_AspectComboBox_changed_cb), NULL);
   etk_signal_unblock("value-changed", ETK_OBJECT(UI_StateMinWSpinner),
                      ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL);
   etk_signal_unblock("value-changed", ETK_OBJECT(UI_StateMinHSpinner),
                      ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL);
   etk_signal_unblock("value-changed", ETK_OBJECT(UI_StateMaxWSpinner),
                      ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL);
   etk_signal_unblock("value-changed", ETK_OBJECT(UI_StateMaxHSpinner),
                      ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL);
   etk_signal_unblock("value-changed", ETK_OBJECT(UI_StateAlignVSpinner),
                      ETK_CALLBACK(_text_FontAlignSpinner_value_changed_cb),
                      (void*)STATE_ALIGNV_SPINNER);
   etk_signal_unblock("value-changed", ETK_OBJECT(UI_StateAlignHSpinner),
                      ETK_CALLBACK(_text_FontAlignSpinner_value_changed_cb),
                      (void*)STATE_ALIGNH_SPINNER);
   etk_signal_unblock("toggled", ETK_OBJECT(UI_StateVisibleCheck),
                      ETK_CALLBACK(_state_VisibleCheck_toggled_cb), NULL);
   etk_signal_unblock("text-changed", ETK_OBJECT(UI_StateCCEntry),
                      ETK_CALLBACK(_state_CCEntry_text_changed_cb), NULL);

}
/* TODO : documentation */
void
emphasis_init_player(Emphasis_Player_Gui *player)
{
  Enhance *en;
  
  en = enhance_new();
  
  player->en = en;
  if(!en)
    {
      fprintf(stderr, "Enhance new failed");
      exit(1);
    }

  player->state = EMPHASIS_SMALL; /* TODO : state toggle full */

  _emphasis_enhance_callbacks(player);
  enhance_file_load(en, "Emphasis", PACKAGE_DATA_DIR EMPHASIS_GLADE);

  /* TODO : check widget? */

  EN_VAR_GET(en, player, window);
  etk_widget_hide(player->small.window);
  etk_widget_hide(player->full.window);
  EN_VAR_GET(en, player, root);

  player->small.ctr.root = enhance_var_get(en, "small_root_ctrl");
  player->small.cov.root = enhance_var_get(en, "small_root_cover");
  _emphasis_init_player_small(player);
  EN_VAR_GET(en, player, cover);
  
  EN_VAR_GET(en, player, stop);
  EN_VAR_GET(en, player, prev);
  EN_VAR_GET(en, player, play);
  EN_VAR_GET(en, player, next);

  EN_VAR_GET(en, player, info);

  EN_VAR_GET(en, player, progress);
  //EN_VAR_GET(en, player, time);
  player->full.time = enhance_var_get(en, "full_time");

  EN_VAR_GET(en, player, sound_slider);
  EN_VAR_GET(en, player, sound_low);
  EN_VAR_GET(en, player, sound_high);

  EN_VAR_GET(en, player, random);
  EN_VAR_GET(en, player, repeat);
  EN_VAR_GET(en, player, full);
  player->small.media  = enhance_var_get(en, "small_media");


  player->media.window   = enhance_var_get(en, "media_window");
  player->media.root     = enhance_var_get(en, "media_root");

  player->media.notebook = enhance_var_get(en, "media_notebook");

  player->media.paned    = enhance_var_get(en, "media_paned");
  player->media.pls      = enhance_var_get(en, "media_pls");

  player->media.artist   = enhance_var_get(en, "media_artist");
  player->media.album    = enhance_var_get(en, "media_album");
  player->media.track    = enhance_var_get(en, "media_track");

  player->media.search_root  = enhance_var_get(en, "search_page_root");
  player->media.search_combo = enhance_var_get(en, "search_page_combo");
  player->media.search_tree  = enhance_var_get(en, "search_page_tree");


  player->media.pls_list       = enhance_var_get(en, "media_pls_list");
  player->media.pls_content    = enhance_var_get(en, "media_pls_content");
  player->media.pls_entry_save = enhance_var_get(en, "media_pls_entry_save");

  /* Mediabox buttons init */
  player->media.toolbar          = enhance_var_get(en, "media_toolbar");
  player->media.button_lib       = enhance_var_get(en, "media_button_lib");
  player->media.button_search    = enhance_var_get(en, "media_button_search");
  player->media.button_playlists = enhance_var_get(en, "media_button_pls");
  player->media.button_stats     = enhance_var_get(en, "media_button_stats");

  /* enhance completion : col def */
  etk_tree_multiple_select_set(ETK_TREE(player->media.artist), ETK_TRUE);
  etk_tree_multiple_select_set(ETK_TREE(player->media.album) , ETK_TRUE);
  etk_tree_multiple_select_set(ETK_TREE(player->media.track) , ETK_TRUE);
  etk_tree_multiple_select_set(ETK_TREE(player->media.pls)   , ETK_TRUE);

  Etk_Tree_Col *col;
  col = etk_tree_col_new(ETK_TREE(player->media.artist), "Artist", 60, 0.0);
  etk_tree_col_model_add(col, etk_tree_model_text_new());
  etk_tree_build(ETK_TREE(player->media.artist));
  
  col = etk_tree_col_new(ETK_TREE(player->media.album), "Album", 60, 0.0);
  etk_tree_col_model_add(col, etk_tree_model_text_new());
  etk_tree_build(ETK_TREE(player->media.album));

  col = etk_tree_col_new(ETK_TREE(player->media.track), "Track", 60, 0.0);
  etk_tree_col_model_add(col, etk_tree_model_text_new());
  etk_tree_build(ETK_TREE(player->media.track));
  /* pls */
  col = etk_tree_col_new(ETK_TREE(player->media.pls), "Title", 140, 0.0);
  etk_tree_col_model_add(col, etk_tree_model_image_new());
  etk_tree_col_model_add(col, etk_tree_model_text_new());
  col = etk_tree_col_new(ETK_TREE(player->media.pls), "Time", 30, 0.0);
  etk_tree_col_model_add(col, etk_tree_model_text_new());
  col = etk_tree_col_new(ETK_TREE(player->media.pls), "Artist", 120, 0.0);
  etk_tree_col_model_add(col, etk_tree_model_text_new());
  col = etk_tree_col_new(ETK_TREE(player->media.pls), "Album", 120, 0.0);
  etk_tree_col_model_add(col, etk_tree_model_text_new());
  etk_tree_build(ETK_TREE(player->media.pls));
  /* search page */
  etk_tree_multiple_select_set(ETK_TREE(player->media.search_tree), ETK_TRUE);
  col = etk_tree_col_new(ETK_TREE(player->media.search_tree), "Artist", 120, 0.0);
  etk_tree_col_model_add(col, etk_tree_model_text_new());
  col = etk_tree_col_new(ETK_TREE(player->media.search_tree), "Album", 100, 0.0);
  etk_tree_col_model_add(col, etk_tree_model_text_new());
  col = etk_tree_col_new(ETK_TREE(player->media.search_tree), "Title", 200, 0.0);
  etk_tree_col_model_add(col, etk_tree_model_text_new());
  col = etk_tree_col_new(ETK_TREE(player->media.search_tree), "Filename", 200, 0.0);
  etk_tree_col_model_add(col, etk_tree_model_text_new());
  etk_tree_build(ETK_TREE(player->media.search_tree));
  /* playlists page */
  col = etk_tree_col_new(ETK_TREE(player->media.pls_list), "Playlists", 120, 0.0);
  etk_tree_col_model_add(col, etk_tree_model_text_new());
  etk_tree_build(ETK_TREE(player->media.pls_list));
  col = etk_tree_col_new(ETK_TREE(player->media.pls_content), "Preview", 120, 0.0);
  etk_tree_col_model_add(col, etk_tree_model_text_new());
  etk_tree_build(ETK_TREE(player->media.pls_content));
  /**/
 
  etk_object_data_set(ETK_OBJECT(player->media.artist), "title", "Artist");
  etk_object_data_set(ETK_OBJECT(player->media.album) , "title", "Album" );
  etk_object_data_set(ETK_OBJECT(player->media.track) , "title", "Track" );

  etk_object_data_set(ETK_OBJECT(player->media.artist),
                      "Emphasis_Type",
                      (void*)EMPHASIS_ARTIST);
  etk_object_data_set(ETK_OBJECT(player->media.album),
                      "Emphasis_Type",
                      (void*)EMPHASIS_ALBUM);
  etk_object_data_set(ETK_OBJECT(player->media.track),
                      "Emphasis_Type",
                      (void*)EMPHASIS_TRACK);

  /* enhance completion : dnd */
  etk_widget_dnd_source_set(ETK_WIDGET(player->media.artist), ETK_TRUE);
  etk_widget_dnd_source_set(ETK_WIDGET(player->media.album) , ETK_TRUE);
  etk_widget_dnd_source_set(ETK_WIDGET(player->media.track) , ETK_TRUE);
  etk_widget_dnd_dest_set(ETK_WIDGET(player->media.pls), ETK_TRUE);

  etk_signal_connect("row-clicked", ETK_OBJECT(player->media.artist),
                     ETK_CALLBACK(cb_tree_mlib_clicked),
                     player);
  etk_signal_connect("row-clicked", ETK_OBJECT(player->media.album ),
                     ETK_CALLBACK(cb_tree_mlib_clicked),
                     player);
  etk_signal_connect("row-clicked", ETK_OBJECT(player->media.track ),
                     ETK_CALLBACK(cb_tree_mlib_clicked),
                     player);
  etk_signal_connect("row-clicked", ETK_OBJECT(player->media.pls   ),
                     ETK_CALLBACK(cb_tree_pls_clicked),
                     NULL);

  /* Media pls init */
  etk_object_data_set(ETK_OBJECT(player->media.pls_content),
                      "Emphasis_Type",
                      (void*)EMPHASIS_TRACK);

  /* enhance complection : images */
  emphasis_player_cover_set(player, NULL);

  emphasis_player_vol_image_set(player, 0, PACKAGE_DATA_DIR EMPHASIS_SOUNDL);
  emphasis_player_vol_image_set(player, 1, PACKAGE_DATA_DIR EMPHASIS_SOUNDR);

  player->small.cover_size_w = player->small.cover->requested_size.w;
  player->small.cover_size_h = player->small.cover->requested_size.h;
  player->full.cover_size_w  = player->full.cover->requested_size.w;
  player->full.cover_size_h  = player->full.cover->requested_size.h;

  /* TEMP configuration, need to add this to enhance */
  etk_window_wmclass_set(ETK_WINDOW(player->full.window),
                         "emphasis full", "Emphasis");
  etk_window_wmclass_set(ETK_WINDOW(player->small.window),
                         "emphasis small", "Emphasis");
  etk_window_wmclass_set(ETK_WINDOW(player->media.window),
                         "emphasis mlib", "Emphasis");
  etk_container_border_width_set(ETK_CONTAINER(player->full.window), 5);
}