## BtMainPageMachines BtMainPageMachines — the editor main machines page |

## Functions

BtMainPageMachines * | bt_main_page_machines_new ()
gboolean | bt_main_page_machines_wire_volume_popup ()
gboolean | bt_main_page_machines_wire_panorama_popup ()
gboolean | bt_main_page_machines_add_source_machine ()
gboolean | bt_main_page_machines_add_processor_machine ()
void | bt_main_page_machines_delete_machine ()
void | bt_main_page_machines_delete_wire ()
void | bt_main_page_machines_rename_machine ()
void | bt_main_page_machines_canvas_coords_to_relative ()
void | bt_main_page_machines_relative_coords_to_canvas ()

## Properties

ClutterActor * | canvas | Read

## Types and Values

struct | BtMainPageMachines

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkBox
                        ╰── BtMainPageMachines

## Implemented Interfaces

BtMainPageMachines implements AtkImplementorIface, GtkBuildable and GtkOrientable.

## Includes

    #include "bt-edit.h"

## Description

Displays the machine setup and wires on a canvas. The area is an infinite canvas that can be moved and zoomed freely.

## Functions

### bt_main_page_machines_new ()

    BtMainPageMachines *
    bt_main_page_machines_new (const BtMainPages *pages);

Create a new instance

#### Parameters

pages | the page collection |

#### Returns

the new instance

### bt_main_page_machines_wire_volume_popup ()

    gboolean
    bt_main_page_machines_wire_volume_popup
                                   (const BtMainPageMachines *self,
                                    BtWire *wire,
                                    gint xpos,
                                    gint ypos);

Activates the volume-popup for the given wire.

#### Parameters

self | the machines page |
wire | the wire to popup the volume control for |
xpos | the x-position for the popup |
ypos | the y-position for the popup |

#### Returns

`TRUE` for succes.

### bt_main_page_machines_wire_panorama_popup ()

    gboolean
    bt_main_page_machines_wire_panorama_popup
                                   (const BtMainPageMachines *self,
                                    BtWire *wire,
                                    gint xpos,
                                    gint ypos);

Activates the panorama-popup for the given wire.

#### Parameters

self | the machines page |
wire | the wire to popup the panorama control for |
xpos | the x-position for the popup |
ypos | the y-position for the popup |

#### Returns

`TRUE` for succes.

### bt_main_page_machines_add_source_machine ()

    gboolean
    bt_main_page_machines_add_source_machine
                                   (const BtMainPageMachines *self,
                                    const gchar *id,
                                    const gchar *plugin_name);

Add a new machine to the machine-page.

#### Parameters

self | the machines page |
id | the id for the new machine |
plugin_name | the plugin-name for the new machine |

### bt_main_page_machines_add_processor_machine ()

    gboolean
    bt_main_page_machines_add_processor_machine
                                   (const BtMainPageMachines *self,
                                    const gchar *id,
                                    const gchar *plugin_name);

Add a new machine to the machine-page.

#### Parameters

self | the machines page |
id | the id for the new machine |
plugin_name | the plugin-name for the new machine |

### bt_main_page_machines_delete_machine ()

    void
    bt_main_page_machines_delete_machine (const BtMainPageMachines *self,
                                          BtMachine *machine);

Remove a machine from the machine-page.

#### Parameters

self | the machines page |
machine | the machine to remove |

### bt_main_page_machines_delete_wire ()

    void
    bt_main_page_machines_delete_wire (const BtMainPageMachines *self,
                                       BtWire *wire);

Remove a wire from the machine-page (unlink the machines).

#### Parameters

self | the machines page |
wire | the wire to remove |

### bt_main_page_machines_rename_machine ()

    void
    bt_main_page_machines_rename_machine (const BtMainPageMachines *self,
                                          BtMachine *machine);

Run the machine BtMachineRenameDialog.

#### Parameters

self | the machines page |
machine | the machine to rename |

### bt_main_page_machines_canvas_coords_to_relative ()

    void
    bt_main_page_machines_canvas_coords_to_relative
                                   (const BtMainPageMachines *self,
                                    const gdouble xc,
                                    const gdouble yc,
                                    gdouble *xr,
                                    gdouble *yr);

Convert the given canvas pixel coordinates into relative coordinates (with a range of -1.0 .. 1.0).

#### Parameters

self | the machines page |
xc | the x pixel position |
yc | the y pixel position |
xr | pointer to store the relative x position into |
yr | pointer to store the relative y position into |

### bt_main_page_machines_relative_coords_to_canvas ()

    void
    bt_main_page_machines_relative_coords_to_canvas
                                   (const BtMainPageMachines *self,
                                    const gdouble xr,
                                    const gdouble yr,
                                    gdouble *xc,
                                    gdouble *yc);

Convert the given relative coordinates (with a range of from -1.0 .. 1.0) into canvas pixel coordinates.

#### Parameters

self | the machines page |
xr | the relative x position |
yr | the relative y position |
xc | pointer to store the canvas x position into |
yc | pointer to store the canvas y position into |

## Types and Values

### struct BtMainPageMachines

    struct BtMainPageMachines;

the machines page for the editor application

## Property Details

### The `“canvas”` property

      “canvas”                   ClutterActor *

Get the machine canvas.

Flags: Read

## See Also

BtSetup