## patch_funcs patch_funcs |

## Synopsis

    void                swamigui_load_files                 (SwamiguiRoot *root);
    void                swamigui_save_files                 (IpatchList *item_list,
                                                             gboolean saveas);
    void                swamigui_close_files                (IpatchList *item_list);
    void                swamigui_delete_items               (IpatchList *item_list);
    void                swamigui_wtbl_load_patch            (IpatchItem *item);
    void                swamigui_new_item                   (IpatchItem *parent_hint,
                                                             GType type);
    void                swamigui_goto_link_item             (IpatchItem *item,
                                                             SwamiguiTree *tree);
    void                swamigui_load_samples               (IpatchItem *parent_hint);
    void                swamigui_export_samples             (IpatchList *samples);
    void                swamigui_copy_items                 (IpatchList *items);
    void                swamigui_paste_items                (IpatchItem *dstitem,
                                                             GList *items);

## Description

## Details

### swamigui_load_files ()

    void                swamigui_load_files                 (SwamiguiRoot *root);

Open files routine. Displays a file selection dialog to open patch files with.

`root` : | GUI root object

### swamigui_save_files ()

    void                swamigui_save_files                 (IpatchList *item_list,
                                                             gboolean saveas);

Save files user interface. If `saveas` is `FALSE` and all selected files have already been saved before, then they are saved. If only one file has not yet been saved then the normal save as file dialog is shown. If multiple files have not been saved or `saveas` is `TRUE` then the multi-file save dialog is used.

`item_list` : | List of items to save.
`saveas` : | TRUE forces popup of dialog even if all files have previously been saved (forces "Save As").

### swamigui_close_files ()

    void                swamigui_close_files                (IpatchList *item_list);

User interface to close files.

`item_list` : | List of items to close (usually only IpatchBase derived objects make sense).

### swamigui_delete_items ()

    void                swamigui_delete_items               (IpatchList *item_list);

Delete patch items

`item_list` : | List of items to delete

### swamigui_wtbl_load_patch ()

    void                swamigui_wtbl_load_patch            (IpatchItem *item);

Load a patch item

`item` : | Patch to load into wavetable.

### swamigui_new_item ()

    void                swamigui_new_item                   (IpatchItem *parent_hint,
                                                             GType type);

Create a new patch item.

`parent_hint` : | The parent of the new item or a hint item. An example of a hint item is a SWAMIGUI_TREE_PRESET_MELODIC item which would allow the real IpatchSF2Preset parent to be found, and would also indicate that the new zone should be in the melodic branch. Can (and should be) NULL for toplevel patch objects (IpatchSF2, etc).
`type` : | GType of an IpatchItem derived type to create.

### swamigui_goto_link_item ()

    void                swamigui_goto_link_item             (IpatchItem *item,
                                                             SwamiguiTree *tree);

Goto an item's linked item in a SwamiguiTree object. Moves the view and selects the item in a SwamiguiTree that is linked by `item`.

`item` : | Patch item
`tree` : | Swami tree object

### swamigui_load_samples ()

    void                swamigui_load_samples               (IpatchItem *parent_hint);

Load sample user interface

`parent_hint` : | Parent of new sample or a child thereof.

### swamigui_export_samples ()

    void                swamigui_export_samples             (IpatchList *samples);

Export one or more samples (object with IpatchSample interface) to a file or directory.

`samples` : | List of objects (non IpatchSample interface items are ignored)

### swamigui_copy_items ()

    void                swamigui_copy_items                 (IpatchList *items);

Set the item clipboard to a given list of items.

`items` : | List of items to copy or `NULL` to clear

### swamigui_paste_items ()

    void                swamigui_paste_items                (IpatchItem *dstitem,
                                                             GList *items);

Paste items user interface routine

`dstitem` : | Destination item for paste
`items` : | List of source items to paste to destination item or `NULL` to use item clipboard