## Edit Decision List

Edit Decision List — Functions for manipulating EDL

## Synopsis

    #include <ogmrip-edl.h>

    enum                OGMRipEdlAction;
    void                (*OGMRipEdlFunc)                    (OGMRipEdlAction action,
                                                             gdouble start,
                                                             gdouble end,
                                                             gpointer data);
                        OGMRipEdl;
    OGMRipEdl *         ogmrip_edl_new                      (const gchar *filename);
    void                ogmrip_edl_ref                      (OGMRipEdl *edl);
    void                ogmrip_edl_unref                    (OGMRipEdl *edl);
    const gchar *       ogmrip_edl_get_filename             (OGMRipEdl *edl);
    void                ogmrip_edl_add                      (OGMRipEdl *edl,
                                                             OGMRipEdlAction action,
                                                             gdouble start,
                                                             gdouble end);
    void                ogmrip_edl_foreach                  (OGMRipEdl *edl,
                                                             OGMRipEdlFunc func,
                                                             gpointer data);
    gboolean            ogmrip_edl_dump                     (OGMRipEdl *edl);

## Description

## Details

### enum OGMRipEdlAction

    typedef enum {
      OGMRIP_EDL_ACTION_SKIP,
      OGMRIP_EDL_ACTION_MUTE
    } OGMRipEdlAction;

The available actions of a EDL action.

`OGMRIP_EDL_ACTION_SKIP` | The skip action
`OGMRIP_EDL_ACTION_MUTE` | The mute action

### OGMRipEdlFunc ()

    void                (*OGMRipEdlFunc)                    (OGMRipEdlAction action,
                                                             gdouble start,
                                                             gdouble end,
                                                             gpointer data);

Specifies the type of functions passed to `ogmrip_edl_foreach()`.

`action` : | an OGMRipEdlAction
`start` : | the start in seconds
`end` : | the end in seconds
`data` : | the user data

### OGMRipEdl

    typedef struct _OGMRipEdl OGMRipEdl;

### ogmrip_edl_new ()

    OGMRipEdl *         ogmrip_edl_new                      (const gchar *filename);

Creates a new OGMRipEdl.

`filename` : | The output file
Returns : | The new OGMRipEdl

### ogmrip_edl_ref ()

    void                ogmrip_edl_ref                      (OGMRipEdl *edl);

Increments the reference count of the OGMRipEdl.

`edl` : | A OGMRipEdl

### ogmrip_edl_unref ()

    void                ogmrip_edl_unref                    (OGMRipEdl *edl);

Decrements the reference count of the OGMRipEdl and frees if the result is 0.

`edl` : | A OGMRipEdl

### ogmrip_edl_get_filename ()

    const gchar *       ogmrip_edl_get_filename             (OGMRipEdl *edl);

Gets the filename of the EDL.

`edl` : | An OGMRipEdl
Returns : | The filename

### ogmrip_edl_add ()

    void                ogmrip_edl_add                      (OGMRipEdl *edl,
                                                             OGMRipEdlAction action,
                                                             gdouble start,
                                                             gdouble end);

Adds the given action to the EDL.

`edl` : | An OGMRipEdl
`action` : | An OGMRipEdlAction
`start` : | The start in seconds
`end` : | The end in seconds

### ogmrip_edl_foreach ()

    void                ogmrip_edl_foreach                  (OGMRipEdl *edl,
                                                             OGMRipEdlFunc func,
                                                             gpointer data);

Invokes `func` on each EDL entry.

`edl` : | An OGMRipEdl
`func` : | An OGMRipEdlFunc
`data` : | The user data

### ogmrip_edl_dump ()

    gboolean            ogmrip_edl_dump                     (OGMRipEdl *edl);

Writes the EDL in the given file.

`edl` : | An OGMRipEdl
Returns : | `TRUE` if the EDL has been dumped