Lines Matching refs:AVS_Value
440 // AVS_Value
443 // Treat AVS_Value as a fat pointer. That is use avs_copy_value
444 // and avs_release_value appropiaty as you would if AVS_Value was
448 // avisynth_c API don't use the AVS_Value directly. Use the helper
451 // AVS_Value is layed out identicly to AVSValue
452 typedef struct AVS_Value AVS_Value;
453 struct AVS_Value {
464 const AVS_Value * array;
468 // AVS_Value should be initilized with avs_void.
472 static const AVS_Value avs_void = {'v'};
474 AVSC_API(void, avs_copy_value)(AVS_Value * dest, AVS_Value src);
475 AVSC_API(void, avs_release_value)(AVS_Value);
477 AVSC_INLINE int avs_defined(AVS_Value v) { return v.type != 'v'; }
478 AVSC_INLINE int avs_is_clip(AVS_Value v) { return v.type == 'c'; }
479 AVSC_INLINE int avs_is_bool(AVS_Value v) { return v.type == 'b'; }
480 AVSC_INLINE int avs_is_int(AVS_Value v) { return v.type == 'i'; }
481 AVSC_INLINE int avs_is_float(AVS_Value v) { return v.type == 'f' || v.type == 'i'; }
482 AVSC_INLINE int avs_is_string(AVS_Value v) { return v.type == 's'; }
483 AVSC_INLINE int avs_is_array(AVS_Value v) { return v.type == 'a'; }
484 AVSC_INLINE int avs_is_error(AVS_Value v) { return v.type == 'e'; }
490 AVSC_API(AVS_Clip *, avs_take_clip)(AVS_Value, AVS_ScriptEnvironment *);
491 AVSC_API(void, avs_set_to_clip)(AVS_Value *, AVS_Clip *);
496 AVSC_INLINE int avs_as_bool(AVS_Value v)
498 AVSC_INLINE int avs_as_int(AVS_Value v)
500 AVSC_INLINE const char * avs_as_string(AVS_Value v)
502 AVSC_INLINE double avs_as_float(AVS_Value v)
504 AVSC_INLINE const char * avs_as_error(AVS_Value v)
506 AVSC_INLINE const AVS_Value * avs_as_array(AVS_Value v)
508 AVSC_INLINE int avs_array_size(AVS_Value v)
510 AVSC_INLINE AVS_Value avs_array_elt(AVS_Value v, int index)
513 // only use these functions on am AVS_Value that does not already have
514 // an active value. Remember, treat AVS_Value as a fat pointer.
515 AVSC_INLINE AVS_Value avs_new_value_bool(int v0)
516 { AVS_Value v; v.type = 'b'; v.d.boolean = v0 == 0 ? 0 : 1; return v; }
517 AVSC_INLINE AVS_Value avs_new_value_int(int v0)
518 { AVS_Value v; v.type = 'i'; v.d.integer = v0; return v; }
519 AVSC_INLINE AVS_Value avs_new_value_string(const char * v0)
520 { AVS_Value v; v.type = 's'; v.d.string = v0; return v; }
521 AVSC_INLINE AVS_Value avs_new_value_float(float v0)
522 { AVS_Value v; v.type = 'f'; v.d.floating_pt = v0; return v;}
523 AVSC_INLINE AVS_Value avs_new_value_error(const char * v0)
524 { AVS_Value v; v.type = 'e'; v.d.string = v0; return v; }
526 AVSC_INLINE AVS_Value avs_new_value_clip(AVS_Clip * v0)
527 { AVS_Value v; avs_set_to_clip(&v, v0); return v; }
529 AVSC_INLINE AVS_Value avs_new_value_array(AVS_Value * v0, int size)
530 { AVS_Value v; v.type = 'a'; v.d.array = v0; v.array_size = size; return v; }
566 typedef AVS_Value (AVSC_CC * AVS_ApplyFunc)
567 (AVS_ScriptEnvironment *, AVS_Value args, void * user_data);
604 AVS_Value child, int store_child);
651 AVSC_API(AVS_Value, avs_invoke)(AVS_ScriptEnvironment *, const char * name,
652 AVS_Value args, const char** arg_names);
655 AVSC_API(AVS_Value, avs_get_var)(AVS_ScriptEnvironment *, const char* name);
658 AVSC_API(int, avs_set_var)(AVS_ScriptEnvironment *, const char* name, AVS_Value val);
660 AVSC_API(int, avs_set_global_var)(AVS_ScriptEnvironment *, const char* name, const AVS_Value val);