Example #1
0
void ColorPicker::erase_preset(const Color &p_color) {

	if (presets.find(p_color)) {
		presets.erase(presets.find(p_color));
		preset->update();

#ifdef TOOLS_ENABLED
		if (Engine::get_singleton()->is_editor_hint()) {
			PoolColorArray arr_to_save = get_presets();
			EditorSettings::get_singleton()->set_project_metadata("color_picker", "presets", arr_to_save);
		}
#endif
	}
}
static void down_click_handler(ClickRecognizerRef recognizer, void *context) {
  if (!is_connected) {
    return;
  }
  if (s_state == BEGINNING_STATE) {
    recent_contact_chooser_init();
    change_state(GETTING_RECENT_CONTACTS_STATE);
    get_recent_contacts();
  } else if (s_state == CREATING_FINAL_MESSAGE_STATE) {
    preset_init();
    change_state(GETTING_PRESETS_STATE);
    get_presets();
  }
}
/**
   Instantiate the user interface
*/
static LV2UI_Handle instantiate(const LV2UI_Descriptor *descriptor,
                                const char *plugin_uri,
                                const char *bundle_path,
                                LV2UI_Write_Function write_function,
                                LV2UI_Controller controller,
                                LV2UI_Widget *widget,
                                const LV2_Feature *const *features)
{
    /* Create object data */
    FluidUI *self = malloc(sizeof(FluidUI));

    self->write = write_function;
    self->controller = controller;

    for (int i = 0; features[i]; i++) {
        if (strcmp(features[i]->URI, LV2_URID__map) == 0)
            self->map = (LV2_URID_Map *)features[i]->data;
    }
    map_uris(self->map, &self->uris);
    lv2_atom_forge_init(&self->forge, self->map);

    /* Create GUI */
    self->box = gtk_hbox_new(FALSE, 4);
    self->label = gtk_label_new("Preset");
    self->combo_box  = gtk_combo_box_text_new();

    get_presets(self);

    gtk_box_pack_start(GTK_BOX(self->box), self->label, TRUE, TRUE, 4);
    gtk_box_pack_start(GTK_BOX(self->box), self->combo_box, FALSE, TRUE, 4);

    g_signal_connect(self->combo_box, "changed", G_CALLBACK(on_changed), self);

    *widget = self->box;

    /* Send patch get to synth plug to get current preset setting */
    uint8_t obj_buf[OBJ_BUF_SIZE];
    lv2_atom_forge_set_buffer(&self->forge, obj_buf, OBJ_BUF_SIZE);

    LV2_Atom *patch_get = write_patch_get(&self->forge, &self->uris);

    self->write(self->controller, INPUT_PORT, lv2_atom_total_size(patch_get),
                self->uris.atom_event_transfer, patch_get);

    return self;
}
Example #4
0
void ColorPicker::add_preset(const Color &p_color) {

	if (presets.find(p_color)) {
		presets.move_to_back(presets.find(p_color));
	} else {
		presets.push_back(p_color);
	}
	preset->update();
	if (presets.size() == 10)
		bt_add_preset->hide();

#ifdef TOOLS_ENABLED
	if (Engine::get_singleton()->is_editor_hint()) {
		PoolColorArray arr_to_save = get_presets();
		EditorSettings::get_singleton()->set_project_metadata("color_picker", "presets", arr_to_save);
	}
#endif
}