Interface Preset

All Superinterfaces:
Proxy
All Known Implementing Classes:
AudioEncoder, AudioEncoder.AudioEncoder$Impl, Preset.Preset$Impl, VideoEncoder, VideoEncoder.VideoEncoder$Impl

@Generated("org.javagi.JavaGI") public interface Preset extends Proxy

This interface offers methods to query and manipulate parameter preset sets. A preset is a bunch of property settings, together with meta data and a name. The name of a preset serves as key for subsequent method calls to manipulate single presets. All instances of one type will share the list of presets. The list is created on demand, if presets are not used, the list is not created.

The interface comes with a default implementation that serves most plugins. Wrapper plugins will override most methods to implement support for the native preset format of those wrapped plugins. One method that is useful to be overridden is gst_preset_get_property_names(). With that one can control which properties are saved and in which order. When implementing support for read-only presets, one should set the vmethods for gst_preset_save_preset() and gst_preset_delete_preset() to null. Applications can use gst_preset_is_editable() to check for that.

The default implementation supports presets located in a system directory, application specific directory and in the users home directory. When getting a list of presets individual presets are read and overlaid in 1) system, 2) application and 3) user order. Whenever an earlier entry is newer, the later entries will be updated. Since 1.8 you can also provide extra paths where to find presets through the GST_PRESET_PATH environment variable. Presets found in those paths will be considered as "app presets".

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static class 
    The Preset$Impl type represents a native instance of the Preset interface.
    static class 
    GstPreset interface.
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    Delete the given preset.
    static @Nullable String
    Gets the directory for application specific presets if set by the application.
    default boolean
    getMeta(String name, String tag, Out<String> value)
    Gets the value for an existing meta data tag. Meta data tag names can be something like e.g.
    default String[]
    Get a copy of preset names as a null terminated string array.
    default String[]
    Get a the names of the GObject properties that can be used for presets.
    static @Nullable Type
    Get the GType of the Preset class.
    default boolean
    Check if one can add new presets, change existing ones and remove presets.
    default boolean
    Load the given preset.
    default boolean
    renamePreset(String oldName, String newName)
    Renames a preset.
    default boolean
    Save the current object settings as a preset under the given name.
    static boolean
    setAppDir(String appDir)
    Sets an extra directory as an absolute path that should be considered when looking for presets.
    default boolean
    setMeta(String name, String tag, @Nullable String value)
    Sets a new value for an existing meta data item or adds a new item.

    Methods inherited from interface Proxy

    handle
  • Method Details

    • getType

      static @Nullable Type getType()
      Get the GType of the Preset class.
      Returns:
      the GType
    • getAppDir

      static @Nullable String getAppDir()
      Gets the directory for application specific presets if set by the application.
      Returns:
      the directory or null, don't free or modify the string
    • setAppDir

      static boolean setAppDir(String appDir)
      Sets an extra directory as an absolute path that should be considered when looking for presets. Any presets in the application dir will shadow the system presets.
      Parameters:
      appDir - the application specific preset dir
      Returns:
      true for success, false if the dir already has been set
    • deletePreset

      default boolean deletePreset(String name)
      Delete the given preset.
      Parameters:
      name - preset name to remove
      Returns:
      true for success, false if e.g. there is no preset with that name
    • getMeta

      default boolean getMeta(String name, String tag, Out<String> value)
      Gets the value for an existing meta data tag. Meta data tag names can be something like e.g. "comment". Returned values need to be released when done.
      Parameters:
      name - preset name
      tag - meta data item name
      value - value
      Returns:
      true for success, false if e.g. there is no preset with that name or no value for the given tag
    • getPresetNames

      default String[] getPresetNames()
      Get a copy of preset names as a null terminated string array.
      Returns:
      list with names, use g_strfreev() after usage.
    • getPropertyNames

      default String[] getPropertyNames()
      Get a the names of the GObject properties that can be used for presets.
      Returns:
      an array of property names which should be freed with g_strfreev() after use.
    • isEditable

      default boolean isEditable()
      Check if one can add new presets, change existing ones and remove presets.
      Returns:
      true if presets are editable or false if they are static
      Since:
      1.6
    • loadPreset

      default boolean loadPreset(String name)
      Load the given preset.
      Parameters:
      name - preset name to load
      Returns:
      true for success, false if e.g. there is no preset with that name
    • renamePreset

      default boolean renamePreset(String oldName, String newName)
      Renames a preset. If there is already a preset by the newName it will be overwritten.
      Parameters:
      oldName - current preset name
      newName - new preset name
      Returns:
      true for success, false if e.g. there is no preset with oldName
    • savePreset

      default boolean savePreset(String name)
      Save the current object settings as a preset under the given name. If there is already a preset by this name it will be overwritten.
      Parameters:
      name - preset name to save
      Returns:
      true for success, false
    • setMeta

      default boolean setMeta(String name, String tag, @Nullable String value)
      Sets a new value for an existing meta data item or adds a new item. Meta data tag names can be something like e.g. "comment". Supplying null for the value will unset an existing value.
      Parameters:
      name - preset name
      tag - meta data item name
      value - new value
      Returns:
      true for success, false if e.g. there is no preset with that name