static void gst_vp8_enc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) { GstVP8Enc *gst_vp8_enc; g_return_if_fail (GST_IS_VP8_ENC (object)); gst_vp8_enc = GST_VP8_ENC (object); GST_DEBUG_OBJECT (object, "gst_vp8_enc_set_property"); switch (prop_id) { case PROP_BITRATE: gst_vp8_enc->bitrate = g_value_get_int (value); break; case PROP_MODE: gst_vp8_enc->mode = g_value_get_enum (value); break; case PROP_MINSECTION_PCT: gst_vp8_enc->minsection_pct = g_value_get_uint (value); break; case PROP_MAXSECTION_PCT: gst_vp8_enc->maxsection_pct = g_value_get_uint (value); break; case PROP_MIN_QUANTIZER: gst_vp8_enc->min_quantizer = g_value_get_int (value); break; case PROP_MAX_QUANTIZER: gst_vp8_enc->max_quantizer = g_value_get_int (value); break; case PROP_QUALITY: gst_vp8_enc->quality = g_value_get_double (value); break; case PROP_ERROR_RESILIENT: gst_vp8_enc->error_resilient = g_value_get_boolean (value); break; case PROP_MAX_LATENCY: gst_vp8_enc->max_latency = g_value_get_int (value); break; case PROP_MAX_KEYFRAME_DISTANCE: gst_vp8_enc->max_keyframe_distance = g_value_get_int (value); break; case PROP_SPEED: gst_vp8_enc->speed = g_value_get_int (value); break; case PROP_THREADS: gst_vp8_enc->threads = g_value_get_int (value); break; case PROP_MULTIPASS_MODE: gst_vp8_enc->multipass_mode = g_value_get_enum (value); break; case PROP_MULTIPASS_CACHE_FILE: if (gst_vp8_enc->multipass_cache_file) g_free (gst_vp8_enc->multipass_cache_file); gst_vp8_enc->multipass_cache_file = g_value_dup_string (value); break; case PROP_AUTO_ALT_REF_FRAMES: gst_vp8_enc->auto_alt_ref_frames = g_value_get_boolean (value); break; case PROP_LAG_IN_FRAMES: gst_vp8_enc->lag_in_frames = g_value_get_uint (value); break; case PROP_SHARPNESS: gst_vp8_enc->sharpness = g_value_get_int (value); break; case PROP_NOISE_SENSITIVITY: gst_vp8_enc->noise_sensitivity = g_value_get_int (value); break; case PROP_TUNE: #ifdef HAVE_VP8ENC_TUNING gst_vp8_enc->tuning = g_value_get_enum (value); #else GST_WARNING_OBJECT (gst_vp8_enc, "The tuning property is unsupported by this libvpx"); #endif break; case PROP_STATIC_THRESHOLD: gst_vp8_enc->static_threshold = g_value_get_int (value); break; case PROP_DROP_FRAME: gst_vp8_enc->drop_frame = g_value_get_int (value); break; case PROP_RESIZE_ALLOWED: gst_vp8_enc->resize_allowed = g_value_get_boolean (value); break; case PROP_TOKEN_PARTS: gst_vp8_enc->partitions = g_value_get_int (value); break; default: break; } }
static GimpValueArray * image_convert_indexed_invoker (GimpProcedure *procedure, Gimp *gimp, GimpContext *context, GimpProgress *progress, const GimpValueArray *args, GError **error) { gboolean success = TRUE; GimpImage *image; gint32 dither_type; gint32 palette_type; gint32 num_cols; gboolean alpha_dither; gboolean remove_unused; const gchar *palette; image = gimp_value_get_image (gimp_value_array_index (args, 0), gimp); dither_type = g_value_get_enum (gimp_value_array_index (args, 1)); palette_type = g_value_get_enum (gimp_value_array_index (args, 2)); num_cols = g_value_get_int (gimp_value_array_index (args, 3)); alpha_dither = g_value_get_boolean (gimp_value_array_index (args, 4)); remove_unused = g_value_get_boolean (gimp_value_array_index (args, 5)); palette = g_value_get_string (gimp_value_array_index (args, 6)); if (success) { GimpPalette *pal = NULL; if (gimp_pdb_image_is_not_base_type (image, GIMP_INDEXED, error) && gimp_pdb_image_is_precision (image, GIMP_PRECISION_U8_GAMMA, error) && gimp_item_stack_is_flat (GIMP_ITEM_STACK (gimp_image_get_layers (image)))) { switch (palette_type) { case GIMP_MAKE_PALETTE: if (num_cols < 1 || num_cols > MAXNUMCOLORS) success = FALSE; break; case GIMP_CUSTOM_PALETTE: pal = gimp_pdb_get_palette (gimp, palette, FALSE, error); if (! pal) { success = FALSE; } else if (pal->n_colors > MAXNUMCOLORS) { g_set_error_literal (error, GIMP_PDB_ERROR, GIMP_PDB_ERROR_INVALID_ARGUMENT, _("Cannot convert to a palette " "with more than 256 colors.")); success = FALSE; } break; default: break; } } else { success = FALSE; } if (success) success = gimp_image_convert_type (image, GIMP_INDEXED, num_cols, dither_type, alpha_dither, FALSE, remove_unused, palette_type, pal, NULL, error); } return gimp_procedure_get_return_values (procedure, success, error ? *error : NULL); }
static void gst_video_test_src_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) { GstVideoTestSrc *src = GST_VIDEO_TEST_SRC (object); switch (prop_id) { case PROP_PATTERN: gst_video_test_src_set_pattern (src, g_value_get_enum (value)); break; case PROP_TIMESTAMP_OFFSET: src->timestamp_offset = g_value_get_int64 (value); break; case PROP_IS_LIVE: gst_base_src_set_live (GST_BASE_SRC (src), g_value_get_boolean (value)); break; case PROP_K0: src->k0 = g_value_get_int (value); break; case PROP_KX: src->kx = g_value_get_int (value); break; case PROP_KY: src->ky = g_value_get_int (value); break; case PROP_KT: src->kt = g_value_get_int (value); break; case PROP_KXT: src->kxt = g_value_get_int (value); break; case PROP_KYT: src->kyt = g_value_get_int (value); break; case PROP_KXY: src->kxy = g_value_get_int (value); break; case PROP_KX2: src->kx2 = g_value_get_int (value); break; case PROP_KY2: src->ky2 = g_value_get_int (value); break; case PROP_KT2: src->kt2 = g_value_get_int (value); break; case PROP_XOFFSET: src->xoffset = g_value_get_int (value); break; case PROP_YOFFSET: src->yoffset = g_value_get_int (value); break; case PROP_FOREGROUND_COLOR: src->foreground_color = g_value_get_uint (value); break; case PROP_BACKGROUND_COLOR: src->background_color = g_value_get_uint (value); break; case PROP_HORIZONTAL_SPEED: src->horizontal_speed = g_value_get_int (value); default: break; } }
JsonNode * json_serialize_pspec (const GValue *real_value, GParamSpec *pspec) { JsonNode *retval = NULL; JsonNodeType node_type; switch (G_TYPE_FUNDAMENTAL (G_VALUE_TYPE (real_value))) { /* JSON native types */ case G_TYPE_INT64: retval = json_node_init_int (json_node_alloc (), g_value_get_int64 (real_value)); break; case G_TYPE_BOOLEAN: retval = json_node_init_boolean (json_node_alloc (), g_value_get_boolean (real_value)); break; case G_TYPE_DOUBLE: retval = json_node_init_double (json_node_alloc (), g_value_get_double (real_value)); break; case G_TYPE_STRING: retval = json_node_init_string (json_node_alloc (), g_value_get_string (real_value)); break; /* auto-promoted types */ case G_TYPE_INT: retval = json_node_init_int (json_node_alloc (), g_value_get_int (real_value)); break; case G_TYPE_UINT: retval = json_node_init_int (json_node_alloc (), g_value_get_uint (real_value)); break; case G_TYPE_LONG: retval = json_node_init_int (json_node_alloc (), g_value_get_long (real_value)); break; case G_TYPE_ULONG: retval = json_node_init_int (json_node_alloc (), g_value_get_ulong (real_value)); break; case G_TYPE_UINT64: retval = json_node_init_int (json_node_alloc (), g_value_get_uint64 (real_value)); break; case G_TYPE_FLOAT: retval = json_node_init_double (json_node_alloc (), g_value_get_float (real_value)); break; case G_TYPE_CHAR: retval = json_node_alloc (); json_node_init_int (retval, g_value_get_schar (real_value)); break; case G_TYPE_UCHAR: retval = json_node_init_int (json_node_alloc (), g_value_get_uchar (real_value)); break; case G_TYPE_ENUM: retval = json_node_init_int (json_node_alloc (), g_value_get_enum (real_value)); break; case G_TYPE_FLAGS: retval = json_node_init_int (json_node_alloc (), g_value_get_flags (real_value)); break; /* complex types */ case G_TYPE_BOXED: if (G_VALUE_HOLDS (real_value, G_TYPE_STRV)) { gchar **strv = g_value_get_boxed (real_value); gint i, strv_len; JsonArray *array; strv_len = g_strv_length (strv); array = json_array_sized_new (strv_len); for (i = 0; i < strv_len; i++) { JsonNode *str = json_node_new (JSON_NODE_VALUE); json_node_set_string (str, strv[i]); json_array_add_element (array, str); } retval = json_node_init_array (json_node_alloc (), array); json_array_unref (array); } else if (json_boxed_can_serialize (G_VALUE_TYPE (real_value), &node_type)) { gpointer boxed = g_value_get_boxed (real_value); retval = json_boxed_serialize (G_VALUE_TYPE (real_value), boxed); } else g_warning ("Boxed type '%s' is not handled by JSON-GLib", g_type_name (G_VALUE_TYPE (real_value))); break; case G_TYPE_OBJECT: { GObject *object = g_value_get_object (real_value); retval = json_node_alloc (); if (object != NULL) { json_node_init (retval, JSON_NODE_OBJECT); json_node_take_object (retval, json_gobject_dump (object)); } else json_node_init_null (retval); } break; case G_TYPE_NONE: retval = json_node_new (JSON_NODE_NULL); break; default: g_warning ("Unsupported type `%s'", g_type_name (G_VALUE_TYPE (real_value))); break; } return retval; }
static void terminal_profile_gsettings_changeset_add (TerminalProfile *profile, GSettings *changeset, GParamSpec *pspec) { TerminalProfilePrivate *priv = profile->priv; char *key; const GValue *value; /* FIXME: do this? */ #if 0 if (priv->locked[pspec->param_id]) return; if (!g_settings_is_writable (priv->settings, gsettings_key, NULL)) return; #endif key = g_param_spec_get_qdata (pspec, gsettings_key_quark); if (!key) return; value = g_value_array_get_nth (priv->properties, pspec->param_id); _terminal_debug_print (TERMINAL_DEBUG_PROFILE, "Adding pspec %s with value %s to the GSettings changeset\n", pspec->name, g_strdup_value_contents (value)); if (G_IS_PARAM_SPEC_BOOLEAN (pspec)) g_settings_set_boolean (changeset, key, g_value_get_boolean (value)); else if (G_IS_PARAM_SPEC_STRING (pspec)) { const char *str; str = g_value_get_string (value); g_settings_set_string (changeset, key, str ? str : ""); } else if (G_IS_PARAM_SPEC_ENUM (pspec)) { const GEnumValue *eval; eval = g_enum_get_value (G_PARAM_SPEC_ENUM (pspec)->enum_class, g_value_get_enum (value)); g_settings_set_enum (changeset, key, eval->value); } else if (G_PARAM_SPEC_VALUE_TYPE (pspec) == GDK_TYPE_COLOR) { GdkColor *color; char str[16]; color = g_value_get_boxed (value); if (!color) goto cleanup; g_snprintf (str, sizeof (str), "#%04X%04X%04X", color->red, color->green, color->blue); g_settings_set_string (changeset, key, str); } else if (G_PARAM_SPEC_VALUE_TYPE (pspec) == PANGO_TYPE_FONT_DESCRIPTION) { PangoFontDescription *font_desc; char *font; font_desc = g_value_get_boxed (value); if (!font_desc) goto cleanup; font = pango_font_description_to_string (font_desc); g_settings_set_string (changeset, key, font); g_free (font); } else if (G_IS_PARAM_SPEC_DOUBLE (pspec)) g_settings_set_double (changeset, key, g_value_get_double (value)); else if (G_IS_PARAM_SPEC_INT (pspec)) g_settings_set_int (changeset, key, g_value_get_int (value)); else if (G_IS_PARAM_SPEC_VALUE_ARRAY (pspec) && G_PARAM_SPEC_VALUE_TYPE (G_PARAM_SPEC_VALUE_ARRAY (pspec)->element_spec) == GDK_TYPE_COLOR) { GValueArray *array; GString *string; guint n_colors, i; /* We need to do this ourselves, because the gtk_color_selection_palette_to_string * does not carry all the bytes, and xterm's palette is messed up... */ array = g_value_get_boxed (value); if (!array) goto cleanup; n_colors = array->n_values; string = g_string_sized_new (n_colors * (1 /* # */ + 3 * 4) + n_colors /* : separators and terminating \0 */); for (i = 0; i < n_colors; ++i) { GdkColor *color; if (i > 0) g_string_append_c (string, ':'); color = g_value_get_boxed (g_value_array_get_nth (array, i)); if (!color) continue; g_string_append_printf (string, "#%04X%04X%04X", color->red, color->green, color->blue); } g_settings_set_string (changeset, key, string->str); g_string_free (string, TRUE); } else g_printerr ("Unhandled value type %s of pspec %s\n", g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec)), pspec->name); cleanup: return; }
static JsonNode * gss_json_serialize_pspec (const GValue * real_value, GParamSpec * pspec) { JsonNode *retval = NULL; GValue value = { 0, }; JsonNodeType node_type; switch (G_TYPE_FUNDAMENTAL (G_VALUE_TYPE (real_value))) { case G_TYPE_INT64: case G_TYPE_BOOLEAN: case G_TYPE_DOUBLE: /* JSON native types */ retval = json_node_new (JSON_NODE_VALUE); g_value_init (&value, G_VALUE_TYPE (real_value)); g_value_copy (real_value, &value); json_node_set_value (retval, &value); g_value_unset (&value); break; case G_TYPE_STRING: /* strings might be NULL, so we handle it differently */ if (!g_value_get_string (real_value)) retval = json_node_new (JSON_NODE_NULL); else { retval = json_node_new (JSON_NODE_VALUE); json_node_set_string (retval, g_value_get_string (real_value)); break; } break; case G_TYPE_INT: retval = json_node_new (JSON_NODE_VALUE); json_node_set_int (retval, g_value_get_int (real_value)); break; case G_TYPE_FLOAT: retval = json_node_new (JSON_NODE_VALUE); json_node_set_double (retval, g_value_get_float (real_value)); break; case G_TYPE_BOXED: if (G_VALUE_HOLDS (real_value, G_TYPE_STRV)) { gchar **strv = g_value_get_boxed (real_value); gint i, strv_len; JsonArray *array; strv_len = g_strv_length (strv); array = json_array_sized_new (strv_len); for (i = 0; i < strv_len; i++) { JsonNode *str = json_node_new (JSON_NODE_VALUE); json_node_set_string (str, strv[i]); json_array_add_element (array, str); } retval = json_node_new (JSON_NODE_ARRAY); json_node_take_array (retval, array); } else if (json_boxed_can_serialize (G_VALUE_TYPE (real_value), &node_type)) { gpointer boxed = g_value_get_boxed (real_value); retval = json_boxed_serialize (G_VALUE_TYPE (real_value), boxed); } else g_warning ("Boxed type '%s' is not handled by JSON-GLib", g_type_name (G_VALUE_TYPE (real_value))); break; case G_TYPE_UINT: retval = json_node_new (JSON_NODE_VALUE); json_node_set_int (retval, g_value_get_uint (real_value)); break; case G_TYPE_LONG: retval = json_node_new (JSON_NODE_VALUE); json_node_set_int (retval, g_value_get_long (real_value)); break; case G_TYPE_ULONG: retval = json_node_new (JSON_NODE_VALUE); json_node_set_int (retval, g_value_get_long (real_value)); break; case G_TYPE_CHAR: retval = json_node_new (JSON_NODE_VALUE); #if GLIB_CHECK_VERSION (2, 31, 0) json_node_set_int (retval, g_value_get_schar (real_value)); #else json_node_set_int (retval, g_value_get_char (real_value)); #endif break; case G_TYPE_UCHAR: retval = json_node_new (JSON_NODE_VALUE); json_node_set_int (retval, g_value_get_uchar (real_value)); break; case G_TYPE_ENUM: retval = json_node_new (JSON_NODE_VALUE); json_node_set_int (retval, g_value_get_enum (real_value)); break; case G_TYPE_FLAGS: retval = json_node_new (JSON_NODE_VALUE); json_node_set_int (retval, g_value_get_flags (real_value)); break; case G_TYPE_OBJECT: { GObject *object = g_value_get_object (real_value); if (object != NULL) { retval = json_node_new (JSON_NODE_OBJECT); json_node_take_object (retval, gss_json_gobject_dump (object)); } else retval = json_node_new (JSON_NODE_NULL); } break; case G_TYPE_NONE: retval = json_node_new (JSON_NODE_NULL); break; default: g_warning ("Unsupported type `%s'", g_type_name (G_VALUE_TYPE (real_value))); break; } return retval; }
/****************************************************************************** * gst_tiaudenc1_set_property * Set element properties when requested. ******************************************************************************/ static void gst_tiaudenc1_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GstTIAudenc1 *audenc1 = GST_TIAUDENC1(object); GST_LOG("begin set_property\n"); switch (prop_id) { case PROP_ENGINE_NAME: if (audenc1->engineName) { g_free((gpointer)audenc1->engineName); } audenc1->engineName = (gchar*)g_malloc(strlen(g_value_get_string(value)) + 1); strcpy((gchar *)audenc1->engineName, g_value_get_string(value)); GST_LOG("setting \"engineName\" to \"%s\"\n", audenc1->engineName); break; case PROP_CODEC_NAME: if (audenc1->codecName) { g_free((gpointer)audenc1->codecName); } audenc1->codecName = (gchar*)g_malloc(strlen(g_value_get_string(value)) + 1); strcpy((gchar*)audenc1->codecName, g_value_get_string(value)); GST_LOG("setting \"codecName\" to \"%s\"\n", audenc1->codecName); break; case PROP_NUM_CHANNELS: audenc1->channels = g_value_get_int(value); GST_LOG("setting \"numChannels\" to \"%d\"\n", audenc1->channels); break; case PROP_BITRATE: audenc1->bitrate = g_value_get_int(value); GST_LOG("setting \"bitrate\" to \"%d\"\n", audenc1->bitrate); break; case PROP_SAMPLEFREQ: audenc1->samplefreq = g_value_get_int(value); GST_LOG("setting \"samplefreq\" to \"%d\"\n", audenc1->samplefreq); break; case PROP_NUM_OUTPUT_BUFS: audenc1->numOutputBufs = g_value_get_int(value); GST_LOG("setting \"numOutputBufs\" to \"%ld\"\n", audenc1->numOutputBufs); break; case PROP_DISPLAY_BUFFER: audenc1->displayBuffer = g_value_get_boolean(value); GST_LOG("setting \"displayBuffer\" to \"%s\"\n", audenc1->displayBuffer ? "TRUE" : "FALSE"); break; case PROP_GEN_TIMESTAMPS: audenc1->genTimeStamps = g_value_get_boolean(value); GST_LOG("setting \"genTimeStamps\" to \"%s\"\n", audenc1->genTimeStamps ? "TRUE" : "FALSE"); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; } GST_LOG("end set_property\n"); }
gboolean plug_in_icc_profile_apply_rgb (GimpImage *image, GimpContext *context, GimpProgress *progress, GimpRunMode run_mode, GError **error) { Gimp *gimp; GimpProcedure *procedure; g_return_val_if_fail (GIMP_IS_IMAGE (image), FALSE); g_return_val_if_fail (GIMP_IS_CONTEXT (context), FALSE); g_return_val_if_fail (progress == NULL || GIMP_IS_PROGRESS (progress), FALSE); g_return_val_if_fail (error == NULL || *error == NULL, FALSE); gimp = image->gimp; if (gimp_image_get_base_type (image) == GIMP_GRAY) { g_set_error (error, GIMP_PLUG_IN_ERROR, GIMP_PLUG_IN_EXECUTION_FAILED, _("Can't apply color profile to grayscale image (%s)"), ICC_PROFILE_APPLY_RGB_PROC); return FALSE; } procedure = gimp_pdb_lookup_procedure (gimp->pdb, ICC_PROFILE_APPLY_RGB_PROC); if (procedure && procedure->num_args >= 2 && GIMP_IS_PARAM_SPEC_INT32 (procedure->args[0]) && GIMP_IS_PARAM_SPEC_IMAGE_ID (procedure->args[1])) { GimpValueArray *return_vals; GimpPDBStatusType status; GimpColorProfilePolicy policy = GIMP_COLOR_PROFILE_POLICY_ASK; gboolean success; return_vals = gimp_pdb_execute_procedure_by_name (gimp->pdb, context, progress, error, ICC_PROFILE_APPLY_RGB_PROC, GIMP_TYPE_INT32, run_mode, GIMP_TYPE_IMAGE_ID, gimp_image_get_ID (image), G_TYPE_NONE); status = g_value_get_enum (gimp_value_array_index (return_vals, 0)); switch (status) { case GIMP_PDB_SUCCESS: policy = GIMP_COLOR_PROFILE_POLICY_CONVERT; success = TRUE; break; case GIMP_PDB_CANCEL: policy = GIMP_COLOR_PROFILE_POLICY_KEEP; success = TRUE; break; default: if (error && *error == NULL) g_set_error (error, GIMP_PLUG_IN_ERROR, GIMP_PLUG_IN_EXECUTION_FAILED, _("Error running '%s'"), ICC_PROFILE_APPLY_RGB_PROC); success = FALSE; break; } if (success && gimp_value_array_length (return_vals) > 1) { GValue *value = gimp_value_array_index (return_vals, 1); if (GIMP_VALUE_HOLDS_INT32 (value) && g_value_get_int (value)) { g_object_set (G_OBJECT (gimp->config), "color-profile-policy", policy, NULL); } } gimp_value_array_unref (return_vals); return success; } g_set_error (error, GIMP_PLUG_IN_ERROR, GIMP_PLUG_IN_NOT_FOUND, _("Plug-In missing (%s)"), ICC_PROFILE_APPLY_RGB_PROC); return FALSE; }
static void gst_dvbsrc_set_property (GObject * _object, guint prop_id, const GValue * value, GParamSpec * pspec) { GstDvbSrc *object; g_return_if_fail (GST_IS_DVBSRC (_object)); object = GST_DVBSRC (_object); switch (prop_id) { case ARG_DVBSRC_ADAPTER: object->adapter_number = g_value_get_int (value); break; case ARG_DVBSRC_FRONTEND: object->frontend_number = g_value_get_int (value); break; case ARG_DVBSRC_DISEQC_SRC: if (object->diseqc_src != g_value_get_int (value)) { object->diseqc_src = g_value_get_int (value); object->send_diseqc = TRUE; } GST_INFO_OBJECT (object, "Set Property: ARG_DVBSRC_DISEQC_ID"); break; case ARG_DVBSRC_FREQUENCY: object->freq = g_value_get_uint (value); GST_INFO_OBJECT (object, "Set Property: ARG_DVBSRC_FREQUENCY (%d Hz)", object->freq); break; case ARG_DVBSRC_POLARITY: { const char *s = NULL; s = g_value_get_string (value); if (s != NULL) { object->pol = (s[0] == 'h' || s[0] == 'H') ? DVB_POL_H : DVB_POL_V; GST_INFO_OBJECT (object, "Set Property: ARG_DVBSRC_POLARITY"); GST_INFO_OBJECT (object, "\t%s", (s[0] == 'h' || s[0] == 'H') ? "DVB_POL_H" : "DVB_POL_V"); } break; } case ARG_DVBSRC_PIDS: { gchar *pid_string; pid_string = g_value_dup_string (value); GST_INFO_OBJECT (object, "Set Property: ARG_DVBSRC_PIDS %s", pid_string); if (!strcmp (pid_string, "8192")) { /* get the whole ts */ int pid_count = 1; object->pids[0] = 8192; while (pid_count < MAX_FILTERS) { object->pids[pid_count++] = G_MAXUINT16; } } else { int pid = 0; int pid_count; gchar **pids; char **tmp; tmp = pids = g_strsplit (pid_string, ":", MAX_FILTERS); if (pid_string) g_free (pid_string); /* always add the PAT and CAT pids */ object->pids[0] = 0; object->pids[1] = 1; pid_count = 2; while (*pids != NULL && pid_count < MAX_FILTERS) { pid = strtol (*pids, NULL, 0); if (pid > 1 && pid <= 8192) { GST_INFO_OBJECT (object, "\tParsed Pid: %d", pid); object->pids[pid_count] = pid; pid_count++; } pids++; } while (pid_count < MAX_FILTERS) { object->pids[pid_count++] = G_MAXUINT16; } g_strfreev (tmp); } /* if we are in playing or paused, then set filters now */ GST_INFO_OBJECT (object, "checking if playing for setting pes filters"); if (GST_ELEMENT (object)->current_state == GST_STATE_PLAYING || GST_ELEMENT (object)->current_state == GST_STATE_PAUSED) { GST_INFO_OBJECT (object, "Setting pes filters now"); gst_dvbsrc_set_pes_filters (object); } } break; case ARG_DVBSRC_SYM_RATE: object->sym_rate = g_value_get_uint (value); GST_INFO_OBJECT (object, "Set Property: ARG_DVBSRC_SYM_RATE to value %d", object->sym_rate); break; case ARG_DVBSRC_BANDWIDTH: object->bandwidth = g_value_get_enum (value); break; case ARG_DVBSRC_CODE_RATE_HP: object->code_rate_hp = g_value_get_enum (value); break; case ARG_DVBSRC_CODE_RATE_LP: object->code_rate_lp = g_value_get_enum (value); break; case ARG_DVBSRC_GUARD: object->guard_interval = g_value_get_enum (value); break; case ARG_DVBSRC_MODULATION: object->modulation = g_value_get_enum (value); break; case ARG_DVBSRC_TRANSMISSION_MODE: object->transmission_mode = g_value_get_enum (value); break; case ARG_DVBSRC_HIERARCHY_INF: object->hierarchy_information = g_value_get_enum (value); break; case ARG_DVBSRC_INVERSION: object->inversion = g_value_get_enum (value); break; case ARG_DVBSRC_TUNE:{ GST_INFO_OBJECT (object, "Set Property: ARG_DVBSRC_TUNE"); /* if we are in paused/playing state tune now, otherwise in ready to paused state change */ if (GST_STATE (object) > GST_STATE_READY) { g_mutex_lock (&object->tune_mutex); gst_dvbsrc_tune (object); g_mutex_unlock (&object->tune_mutex); } break; } case ARG_DVBSRC_STATS_REPORTING_INTERVAL: object->stats_interval = g_value_get_uint (value); object->stats_counter = 0; break; case ARG_DVBSRC_TIMEOUT: object->timeout = g_value_get_uint64 (value); break; case ARG_DVBSRC_DVB_BUFFER_SIZE: object->dvb_buffer_size = g_value_get_uint (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } }
static GtkWidget* _lib_import_get_extra_widget(dt_lib_import_metadata_t *data, gboolean import_folder) { // add extra lines to 'extra'. don't forget to destroy the widgets later. GtkWidget *expander = gtk_expander_new(_("import options")); gtk_expander_set_expanded(GTK_EXPANDER(expander), dt_conf_get_bool("ui_last/import_options_expanded")); GtkWidget *frame = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME(frame),GTK_SHADOW_IN); GtkWidget *alignment = gtk_alignment_new(1.0, 1.0, 1.0, 1.0); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 8, 8, 8, 8); GtkWidget *event_box = gtk_event_box_new(); gtk_container_add(GTK_CONTAINER(frame), event_box); gtk_container_add(GTK_CONTAINER(event_box), alignment); gtk_container_add(GTK_CONTAINER(alignment), expander); GtkWidget *extra; extra = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(expander), extra); GtkWidget *recursive = NULL, *ignore_jpeg = NULL; if(import_folder == TRUE) { // recursive opening. recursive = gtk_check_button_new_with_label (_("import directories recursively")); g_object_set(recursive, "tooltip-text", _("recursively import subdirectories. each directory goes into a new film roll."), NULL); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (recursive), dt_conf_get_bool("ui_last/import_recursive")); gtk_box_pack_start(GTK_BOX (extra), recursive, FALSE, FALSE, 0); // ignoring of jpegs. hack while we don't handle raw+jpeg in the same directories. ignore_jpeg = gtk_check_button_new_with_label (_("ignore JPEG files")); g_object_set(ignore_jpeg, "tooltip-text", _("do not load files with an extension of .jpg or .jpeg. this can be useful when there are raw+JPEG in a directory."), NULL); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (ignore_jpeg), dt_conf_get_bool("ui_last/import_ignore_jpegs")); gtk_box_pack_start(GTK_BOX (extra), ignore_jpeg, FALSE, FALSE, 0); } // default metadata GtkWidget *apply_metadata; GtkWidget *table, *label, *creator, *publisher, *rights, *tags; apply_metadata = gtk_check_button_new_with_label (_("apply metadata on import")); g_object_set(apply_metadata, "tooltip-text", _("apply some metadata to all newly imported images."), NULL); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (apply_metadata), dt_conf_get_bool("ui_last/import_apply_metadata")); gtk_box_pack_start(GTK_BOX (extra), apply_metadata, FALSE, FALSE, 0); GValue value = {0, }; g_value_init(&value, G_TYPE_INT); gtk_widget_style_get_property(apply_metadata, "indicator-size", &value); gint indicator_size = g_value_get_int(&value); // gtk_widget_style_get_property(apply_metadata, "indicator-spacing", &value); // gint indicator_spacing = g_value_get_int(&value); table = gtk_table_new(6, 3, FALSE); gtk_table_set_row_spacings(GTK_TABLE(table), 5); gtk_table_set_col_spacings(GTK_TABLE(table), 5); alignment = gtk_alignment_new(0, 0, 1, 1); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 2*indicator_size, 0); gtk_container_add(GTK_CONTAINER(alignment), table); gtk_box_pack_start(GTK_BOX (extra), alignment, FALSE, FALSE, 0); creator = gtk_entry_new(); gtk_widget_set_size_request(creator, 300, -1); gtk_entry_set_text(GTK_ENTRY(creator), dt_conf_get_string("ui_last/import_last_creator")); publisher = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(publisher), dt_conf_get_string("ui_last/import_last_publisher")); rights = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(rights), dt_conf_get_string("ui_last/import_last_rights")); tags = gtk_entry_new(); g_object_set(tags, "tooltip-text", _("comma separated list of tags"), NULL); gtk_entry_set_text(GTK_ENTRY(tags), dt_conf_get_string("ui_last/import_last_tags")); // presets from the metadata plugin GtkCellRenderer *renderer; GtkTreeIter iter; GtkListStore *model = gtk_list_store_new(N_COLUMNS, G_TYPE_STRING /*name*/, G_TYPE_STRING /*creator*/, G_TYPE_STRING /*publisher*/, G_TYPE_STRING /*rights*/); GtkWidget *presets = gtk_combo_box_new_with_model(GTK_TREE_MODEL(model)); renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(presets), renderer, FALSE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(presets), renderer, "text", NAME_COLUMN, NULL); sqlite3_stmt *stmt; DT_DEBUG_SQLITE3_PREPARE_V2(dt_database_get(darktable.db), "select name, op_params from presets where operation = \"metadata\"", -1, &stmt, NULL); while(sqlite3_step(stmt) == SQLITE_ROW) { void *op_params = (void *)sqlite3_column_blob(stmt, 1); int32_t op_params_size = sqlite3_column_bytes(stmt, 1); char *buf = (char* )op_params; char *title = buf; buf += strlen(title) + 1; char *description = buf; buf += strlen(description) + 1; char *rights = buf; buf += strlen(rights) + 1; char *creator = buf; buf += strlen(creator) + 1; char *publisher = buf; if(op_params_size == strlen(title) + strlen(description) + strlen(rights) + strlen(creator) + strlen(publisher) + 5) { gtk_list_store_append(model, &iter); gtk_list_store_set (model, &iter, NAME_COLUMN, (char *)sqlite3_column_text(stmt, 0), CREATOR_COLUMN, creator, PUBLISHER_COLUMN, publisher, RIGHTS_COLUMN, rights, -1); } } sqlite3_finalize(stmt); g_object_unref(model); int line = 0; label = gtk_label_new(_("preset")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_table_attach(GTK_TABLE(table), label, 0, 1, line, line+1, GTK_FILL, 0, 0, 0); gtk_table_attach(GTK_TABLE(table), presets, 1, 2, line, line+1, GTK_FILL, 0, 0, 0); line++; label = gtk_label_new(_("creator")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_table_attach(GTK_TABLE(table), label, 0, 1, line, line+1, GTK_FILL, 0, 0, 0); gtk_table_attach(GTK_TABLE(table), creator, 1, 2, line, line+1, GTK_FILL, 0, 0, 0); line++; label = gtk_label_new(_("publisher")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_table_attach(GTK_TABLE(table), label, 0, 1, line, line+1, GTK_FILL, 0, 0, 0); gtk_table_attach(GTK_TABLE(table), publisher, 1, 2, line, line+1, GTK_FILL, 0, 0, 0); line++; label = gtk_label_new(_("rights")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_table_attach(GTK_TABLE(table), label, 0, 1, line, line+1, GTK_FILL, 0, 0, 0); gtk_table_attach(GTK_TABLE(table), rights, 1, 2, line, line+1, GTK_FILL, 0, 0, 0); line++; label = gtk_label_new(_("tags")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_table_attach(GTK_TABLE(table), label, 0, 1, line, line+1, GTK_FILL, 0, 0, 0); gtk_table_attach(GTK_TABLE(table), tags, 1, 2, line, line+1, GTK_FILL, 0, 0, 0); gtk_widget_show_all(frame); if(data != NULL) { data->frame = frame; data->recursive = recursive; data->ignore_jpeg = ignore_jpeg; data->expander = expander; data->apply_metadata = apply_metadata; data->presets = presets; data->creator = creator; data->publisher = publisher; data->rights = rights; data->tags = tags; } g_signal_connect(apply_metadata, "toggled", G_CALLBACK (_lib_import_apply_metadata_toggled), table); _lib_import_apply_metadata_toggled(apply_metadata, table); // needed since the apply_metadata starts being turned off, // and setting it to off doesn't emit the 'toggled' signal ... g_signal_connect(presets, "changed", G_CALLBACK(_lib_import_presets_changed), data); g_signal_connect(GTK_ENTRY(creator), "changed", G_CALLBACK (_lib_import_metadata_changed), presets); g_signal_connect(GTK_ENTRY(publisher), "changed", G_CALLBACK (_lib_import_metadata_changed), presets); g_signal_connect(GTK_ENTRY(rights), "changed", G_CALLBACK (_lib_import_metadata_changed), presets); return frame; }
int I_PickIWad_Gtk (WadStuff *wads, int numwads, bool showwin, int defaultiwad) { GtkWidget *window; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *bbox; GtkWidget *widget; GtkWidget *tree; GtkWidget *check; GtkListStore *store; GtkCellRenderer *renderer; GtkTreeViewColumn *column; GtkTreeSelection *selection; GtkTreeIter iter, defiter; int close_style = 0; int i; char caption[100]; // Create the dialog window. window = gtk_window_new (GTK_WINDOW_TOPLEVEL); mysnprintf(caption, countof(caption), GAMESIG " %s: Select an IWAD to use", GetVersionString()); gtk_window_set_title (GTK_WINDOW(window), caption); gtk_window_set_position (GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_container_set_border_width (GTK_CONTAINER(window), 10); g_signal_connect (window, "delete_event", G_CALLBACK(gtk_main_quit), NULL); g_signal_connect (window, "key_press_event", G_CALLBACK(CheckEscape), NULL); // Create the vbox container. vbox = gtk_vbox_new (FALSE, 10); gtk_container_add (GTK_CONTAINER(window), vbox); // Create the top label. widget = gtk_label_new ("ZDoom found more than one IWAD\nSelect from the list below to determine which one to use:"); gtk_box_pack_start (GTK_BOX(vbox), widget, false, false, 0); gtk_misc_set_alignment (GTK_MISC(widget), 0, 0); // Create a list store with all the found IWADs. store = gtk_list_store_new (3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT); for (i = 0; i < numwads; ++i) { const char *filepart = strrchr (wads[i].Path, '/'); if (filepart == NULL) filepart = wads[i].Path; else filepart++; gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, filepart, 1, wads[i].Name.GetChars(), 2, i, -1); if (i == defaultiwad) { defiter = iter; } } // Create the tree view control to show the list. tree = gtk_tree_view_new_with_model (GTK_TREE_MODEL(store)); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes ("IWAD", renderer, "text", 0, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(tree), column); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes ("Game", renderer, "text", 1, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW(tree), column); gtk_box_pack_start (GTK_BOX(vbox), GTK_WIDGET(tree), true, true, 0); g_signal_connect(G_OBJECT(tree), "button_press_event", G_CALLBACK(DoubleClickChecker), &close_style); g_signal_connect(G_OBJECT(tree), "key_press_event", G_CALLBACK(AllowDefault), window); // Select the default IWAD. selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(tree)); gtk_tree_selection_select_iter (selection, &defiter); // Create the hbox for the bottom row. hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_end (GTK_BOX(vbox), hbox, false, false, 0); // Create the "Don't ask" checkbox. check = gtk_check_button_new_with_label ("Don't ask me this again"); gtk_box_pack_start (GTK_BOX(hbox), check, false, false, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(check), !showwin); // Create the OK/Cancel button box. bbox = gtk_hbutton_box_new (); gtk_button_box_set_layout (GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); gtk_box_set_spacing (GTK_BOX(bbox), 10); gtk_box_pack_end (GTK_BOX(hbox), bbox, false, false, 0); // Create the OK button. widget = gtk_button_new_from_stock (GTK_STOCK_OK); gtk_box_pack_start (GTK_BOX(bbox), widget, false, false, 0); GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_DEFAULT); gtk_widget_grab_default (widget); g_signal_connect (widget, "clicked", G_CALLBACK(ClickedOK), &close_style); g_signal_connect (widget, "activate", G_CALLBACK(ClickedOK), &close_style); // Create the cancel button. widget = gtk_button_new_from_stock (GTK_STOCK_CANCEL); gtk_box_pack_start (GTK_BOX(bbox), widget, false, false, 0); g_signal_connect (widget, "clicked", G_CALLBACK(gtk_main_quit), &window); // Finally we can show everything. gtk_widget_show_all (window); gtk_main (); if (close_style == 1) { GtkTreeModel *model; GValue value = { 0, { {0} } }; // Find out which IWAD was selected. gtk_tree_selection_get_selected (selection, &model, &iter); gtk_tree_model_get_value (GTK_TREE_MODEL(model), &iter, 2, &value); i = g_value_get_int (&value); g_value_unset (&value); // Set state of queryiwad based on the checkbox. queryiwad = !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(check)); } else { i = -1; } if (GTK_IS_WINDOW(window)) { gtk_widget_destroy (window); // If we don't do this, then the X window might not actually disappear. while (g_main_context_iteration (NULL, FALSE)) {} } return i; }
static void gst_v4l2sink_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) { GstV4l2Sink *v4l2sink = GST_V4L2SINK (object); if (!gst_v4l2_object_set_property_helper (v4l2sink->v4l2object, prop_id, value, pspec)) { switch (prop_id) { case PROP_QUEUE_SIZE: v4l2sink->num_buffers = g_value_get_uint (value); break; case PROP_MIN_QUEUED_BUFS: v4l2sink->min_queued_bufs = g_value_get_uint (value); break; case PROP_OVERLAY_TOP: v4l2sink->overlay.top = g_value_get_int (value); v4l2sink->overlay_fields_set |= RECT_TOP_SET; gst_v4l2sink_sync_overlay_fields (v4l2sink); break; case PROP_OVERLAY_LEFT: v4l2sink->overlay.left = g_value_get_int (value); v4l2sink->overlay_fields_set |= RECT_LEFT_SET; gst_v4l2sink_sync_overlay_fields (v4l2sink); break; case PROP_OVERLAY_WIDTH: v4l2sink->overlay.width = g_value_get_uint (value); v4l2sink->overlay_fields_set |= RECT_WIDTH_SET; gst_v4l2sink_sync_overlay_fields (v4l2sink); break; case PROP_OVERLAY_HEIGHT: v4l2sink->overlay.height = g_value_get_uint (value); v4l2sink->overlay_fields_set |= RECT_HEIGHT_SET; gst_v4l2sink_sync_overlay_fields (v4l2sink); break; case PROP_CROP_TOP: v4l2sink->crop.top = g_value_get_int (value); v4l2sink->crop_fields_set |= RECT_TOP_SET; gst_v4l2sink_sync_crop_fields (v4l2sink); break; case PROP_CROP_LEFT: v4l2sink->crop.left = g_value_get_int (value); v4l2sink->crop_fields_set |= RECT_LEFT_SET; gst_v4l2sink_sync_crop_fields (v4l2sink); break; case PROP_CROP_WIDTH: v4l2sink->crop.width = g_value_get_uint (value); v4l2sink->crop_fields_set |= RECT_WIDTH_SET; gst_v4l2sink_sync_crop_fields (v4l2sink); break; case PROP_CROP_HEIGHT: v4l2sink->crop.height = g_value_get_uint (value); v4l2sink->crop_fields_set |= RECT_HEIGHT_SET; gst_v4l2sink_sync_crop_fields (v4l2sink); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } }
static void gst_rsvg_overlay_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) { GstRsvgOverlay *overlay = GST_RSVG_OVERLAY (object); GST_RSVG_LOCK (overlay); switch (prop_id) { case PROP_DATA: { gst_rsvg_overlay_set_svg_data (overlay, g_value_get_string (value), FALSE); break; } case PROP_LOCATION: { gst_rsvg_overlay_set_svg_data (overlay, g_value_get_string (value), TRUE); break; } case PROP_FIT_TO_FRAME: { if (g_value_get_boolean (value)) { overlay->x_offset = 0; overlay->y_offset = 0; overlay->x_relative = 0.0; overlay->y_relative = 0.0; overlay->width = 0; overlay->height = 0; overlay->width_relative = 1.0; overlay->height_relative = 1.0; } else { overlay->width_relative = 0; overlay->height_relative = 0; } break; } case PROP_X: { overlay->x_offset = g_value_get_int (value); break; } case PROP_Y: { overlay->y_offset = g_value_get_int (value); break; } case PROP_X_RELATIVE: { overlay->x_relative = g_value_get_float (value); break; } case PROP_Y_RELATIVE: { overlay->y_relative = g_value_get_float (value); break; } case PROP_WIDTH: { overlay->width = g_value_get_int (value); break; } case PROP_HEIGHT: { overlay->height = g_value_get_int (value); break; } case PROP_WIDTH_RELATIVE: { overlay->width_relative = g_value_get_float (value); break; } case PROP_HEIGHT_RELATIVE: { overlay->height_relative = g_value_get_float (value); break; } default: { G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } GST_RSVG_UNLOCK (overlay); }
static void gimp_curve_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { GimpCurve *curve = GIMP_CURVE (object); switch (property_id) { case PROP_CURVE_TYPE: gimp_curve_set_curve_type (curve, g_value_get_enum (value)); break; case PROP_N_POINTS: gimp_curve_set_n_points (curve, g_value_get_int (value)); break; case PROP_POINTS: { GimpValueArray *array = g_value_get_boxed (value); gint length; gint i; if (! array) break; length = gimp_value_array_length (array); for (i = 0; i < curve->n_points && i * 2 < length; i++) { GValue *x = gimp_value_array_index (array, i * 2); GValue *y = gimp_value_array_index (array, i * 2 + 1); curve->points[i].x = g_value_get_double (x); curve->points[i].y = g_value_get_double (y); } } break; case PROP_N_SAMPLES: gimp_curve_set_n_samples (curve, g_value_get_int (value)); break; case PROP_SAMPLES: { GimpValueArray *array = g_value_get_boxed (value); gint length; gint i; if (! array) break; length = gimp_value_array_length (array); for (i = 0; i < curve->n_samples && i < length; i++) { GValue *v = gimp_value_array_index (array, i); curve->samples[i] = g_value_get_double (v); } } break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } }
static void gst_imx_v4l2src_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GstImxV4l2VideoSrc *v4l2src = GST_IMX_V4L2SRC(object); switch (prop_id) { case IMX_V4L2SRC_CAPTURE_MODE: v4l2src->capture_mode = g_value_get_int(value); break; case IMX_V4L2SRC_FRAMERATE_NUM: v4l2src->fps_n = g_value_get_int(value); break; case IMX_V4L2SRC_INPUT: v4l2src->input = g_value_get_int(value); break; case IMX_V4L2SRC_DEVICE: if (v4l2src->devicename) g_free(v4l2src->devicename); v4l2src->devicename = g_strdup(g_value_get_string(value)); break; case IMX_V4L2SRC_QUEUE_SIZE: v4l2src->queue_size = g_value_get_int(value); break; case IMX_V4L2SRC_CROP_META_X: v4l2src->metaCropX = g_value_get_int(value); break; case IMX_V4L2SRC_CROP_META_Y: v4l2src->metaCropY = g_value_get_int(value); break; case IMX_V4L2SRC_CROP_META_WIDTH: v4l2src->metaCropWidth = g_value_get_int(value); break; case IMX_V4L2SRC_CROP_META_HEIGHT: v4l2src->metaCropHeight = g_value_get_int(value); break; case PROP_FOCUS_MODE: gst_imx_v4l2src_set_focus_mode(GST_PHOTOGRAPHY(v4l2src), g_value_get_enum(value)); break; case PROP_WB_MODE: case PROP_COLOR_TONE: case PROP_SCENE_MODE: case PROP_FLASH_MODE: case PROP_FLICKER_MODE: case PROP_CAPABILITIES: case PROP_EV_COMP: case PROP_ISO_SPEED: case PROP_APERTURE: case PROP_EXPOSURE_TIME: case PROP_IMAGE_CAPTURE_SUPPORTED_CAPS: case PROP_IMAGE_PREVIEW_SUPPORTED_CAPS: case PROP_ZOOM: case PROP_COLOR_TEMPERATURE: case PROP_WHITE_POINT: case PROP_ANALOG_GAIN: case PROP_LENS_FOCUS: case PROP_MIN_EXPOSURE_TIME: case PROP_MAX_EXPOSURE_TIME: case PROP_NOISE_REDUCTION: GST_WARNING_OBJECT(v4l2src, "setting GstPhotography properties is not supported"); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); break; } }
static void gimp_text_options_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { GimpTextOptions *options = GIMP_TEXT_OPTIONS (object); switch (property_id) { case PROP_FONT_SIZE: options->font_size = g_value_get_double (value); break; case PROP_UNIT: options->unit = g_value_get_int (value); break; case PROP_ANTIALIAS: options->antialias = g_value_get_boolean (value); break; case PROP_HINT_STYLE: options->hint_style = g_value_get_enum (value); break; case PROP_BASE_DIR: options->base_dir = g_value_get_enum (value); break; case PROP_LANGUAGE: g_free (options->language); options->language = g_value_dup_string (value); break; case PROP_JUSTIFICATION: options->justify = g_value_get_enum (value); break; case PROP_INDENTATION: options->indent = g_value_get_double (value); break; case PROP_LINE_SPACING: options->line_spacing = g_value_get_double (value); break; case PROP_LETTER_SPACING: options->letter_spacing = g_value_get_double (value); break; case PROP_BOX_MODE: options->box_mode = g_value_get_enum (value); break; case PROP_USE_EDITOR: options->use_editor = g_value_get_boolean (value); break; case PROP_FONT_VIEW_TYPE: options->font_view_type = g_value_get_enum (value); break; case PROP_FONT_VIEW_SIZE: options->font_view_size = g_value_get_int (value); break; default: gimp_rectangle_options_set_property (object, property_id, value, pspec); break; } }
/* The public functions */ GtkWidget * gnome_prefs_entry_new (GtkWidget *table, const gchar *label_txt, const gchar *conf_key, const gchar *tooltip, int row, gboolean box) { GnomePrefsWindow *gpw = NULL; GValue value = { 0, {{0}, {0}}}; int cols = 0; GtkWidget *entry = NULL; GtkWidget *label = NULL; GtkWidget *hbox = NULL; gchar *conf_string = NULL; gboolean writable = FALSE; writable = gm_conf_is_key_writable (conf_key); if (box) { hbox = gtk_hbox_new (FALSE, 0); g_value_init (&value, G_TYPE_INT); g_object_get_property (G_OBJECT (table), "n-columns", &value); cols = g_value_get_int (&value); g_value_unset (&value); } label = gtk_label_new_with_mnemonic (label_txt); if (!writable) gtk_widget_set_sensitive (GTK_WIDGET (label), FALSE); if (box) gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 1 * 2); else gtk_table_attach (GTK_TABLE (table), label, 0, 1, row, row+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); entry = gtk_entry_new (); gtk_label_set_mnemonic_widget (GTK_LABEL(label), entry); if (!writable) gtk_widget_set_sensitive (GTK_WIDGET (entry), FALSE); if (box) gtk_box_pack_start (GTK_BOX (hbox), entry, FALSE, FALSE, 1 * 2); else gtk_table_attach (GTK_TABLE (table), entry, 1, 2, row, row+1, (GtkAttachOptions) (NULL), (GtkAttachOptions) (NULL), 0, 0); conf_string = gm_conf_get_string (conf_key); if (conf_string != NULL) gtk_entry_set_text (GTK_ENTRY (entry), conf_string); g_free (conf_string); g_signal_connect_after (entry, "focus-out-event", G_CALLBACK (entry_focus_changed), (gpointer)conf_key); g_signal_connect_after (entry, "activate", G_CALLBACK (entry_activate_changed), (gpointer)conf_key); gm_conf_notifier_add (conf_key, entry_changed_nt, (gpointer) entry); if (box) gtk_table_attach (GTK_TABLE (table), hbox, 0, cols, row, row+1, (GtkAttachOptions) (NULL), (GtkAttachOptions) (NULL), 0, 0); gpw = (GnomePrefsWindow *) g_object_get_data (G_OBJECT (table), "gpw"); if (gpw && tooltip) gtk_widget_set_tooltip_text (entry, tooltip); gtk_widget_show_all (table); return entry; }
static void gst_udpsrc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) { GstUDPSrc *udpsrc = GST_UDPSRC (object); switch (prop_id) { case PROP_BUFFER_SIZE: udpsrc->buffer_size = g_value_get_int (value); break; case PROP_PORT: udpsrc->port = g_value_get_int (value); g_free (udpsrc->uri); udpsrc->uri = g_strdup_printf ("udp://%s:%u", udpsrc->address, udpsrc->port); break; case PROP_MULTICAST_GROUP: case PROP_ADDRESS: { const gchar *group; g_free (udpsrc->address); if ((group = g_value_get_string (value))) udpsrc->address = g_strdup (group); else udpsrc->address = g_strdup (UDP_DEFAULT_MULTICAST_GROUP); g_free (udpsrc->uri); udpsrc->uri = g_strdup_printf ("udp://%s:%u", udpsrc->address, udpsrc->port); break; } case PROP_MULTICAST_IFACE: g_free (udpsrc->multi_iface); if (g_value_get_string (value) == NULL) udpsrc->multi_iface = g_strdup (UDP_DEFAULT_MULTICAST_IFACE); else udpsrc->multi_iface = g_value_dup_string (value); break; case PROP_URI: gst_udpsrc_set_uri (udpsrc, g_value_get_string (value), NULL); break; case PROP_CAPS: { const GstCaps *new_caps_val = gst_value_get_caps (value); GstCaps *new_caps; GstCaps *old_caps; if (new_caps_val == NULL) { new_caps = gst_caps_new_any (); } else { new_caps = gst_caps_copy (new_caps_val); } GST_OBJECT_LOCK (udpsrc); old_caps = udpsrc->caps; udpsrc->caps = new_caps; GST_OBJECT_UNLOCK (udpsrc); if (old_caps) gst_caps_unref (old_caps); gst_pad_mark_reconfigure (GST_BASE_SRC_PAD (udpsrc)); break; } case PROP_SOCKET: if (udpsrc->socket != NULL && udpsrc->socket != udpsrc->used_socket && udpsrc->close_socket) { GError *err = NULL; if (!g_socket_close (udpsrc->socket, &err)) { GST_ERROR ("failed to close socket %p: %s", udpsrc->socket, err->message); g_clear_error (&err); } } if (udpsrc->socket) g_object_unref (udpsrc->socket); udpsrc->socket = g_value_dup_object (value); GST_DEBUG ("setting socket to %p", udpsrc->socket); break; case PROP_TIMEOUT: udpsrc->timeout = g_value_get_uint64 (value); break; case PROP_SKIP_FIRST_BYTES: udpsrc->skip_first_bytes = g_value_get_int (value); break; case PROP_CLOSE_SOCKET: udpsrc->close_socket = g_value_get_boolean (value); break; case PROP_AUTO_MULTICAST: udpsrc->auto_multicast = g_value_get_boolean (value); break; case PROP_REUSE: udpsrc->reuse = g_value_get_boolean (value); break; case PROP_LOOP: udpsrc->loop = g_value_get_boolean (value); break; case PROP_RETRIEVE_SENDER_ADDRESS: udpsrc->retrieve_sender_address = g_value_get_boolean (value); break; default: break; } }
static RejillaBurnResult rejilla_vcd_imager_set_argv (RejillaProcess *process, GPtrArray *argv, GError **error) { RejillaVcdImagerPrivate *priv; RejillaBurnResult result; RejillaJobAction action; RejillaMedia medium; gchar *output; gchar *image; gchar *toc; priv = REJILLA_VCD_IMAGER_PRIVATE (process); rejilla_job_get_action (REJILLA_JOB (process), &action); if (action != REJILLA_JOB_ACTION_IMAGE) REJILLA_JOB_NOT_SUPPORTED (process); g_ptr_array_add (argv, g_strdup ("vcdxbuild")); g_ptr_array_add (argv, g_strdup ("--progress")); g_ptr_array_add (argv, g_strdup ("-v")); /* specifies output */ image = toc = NULL; rejilla_job_get_image_output (REJILLA_JOB (process), &image, &toc); g_ptr_array_add (argv, g_strdup ("-c")); g_ptr_array_add (argv, toc); g_ptr_array_add (argv, g_strdup ("-b")); g_ptr_array_add (argv, image); /* get temporary file to write XML */ result = rejilla_job_get_tmp_file (REJILLA_JOB (process), NULL, &output, error); if (result != REJILLA_BURN_OK) return result; g_ptr_array_add (argv, output); rejilla_job_get_media (REJILLA_JOB (process), &medium); if (medium & REJILLA_MEDIUM_CD) { GValue *value = NULL; rejilla_job_tag_lookup (REJILLA_JOB (process), REJILLA_VCD_TYPE, &value); if (value) priv->svcd = (g_value_get_int (value) == REJILLA_SVCD); } result = rejilla_vcd_imager_generate_xml_file (process, output, error); if (result != REJILLA_BURN_OK) return result; rejilla_job_set_current_action (REJILLA_JOB (process), REJILLA_BURN_ACTION_CREATING_IMAGE, _("Creating file layout"), FALSE); return REJILLA_BURN_OK; }