## rb-shell rb-shell |

## Synopsis

    #define             RB_SHELL_ERROR
    GQuark              rb_shell_error_quark                (void);
    typedef             RBShellPrivate;
    RBShell*            rb_shell_new                        (gboolean no_registration,
                                                             gboolean no_update,
                                                             gboolean dry_run,
                                                             char *rhythmdb,
                                                             char *playlists);
    gboolean            rb_shell_present                    (RBShell *shell,
                                                             guint32 timestamp,
                                                             GError **error);
    gboolean            rb_shell_add_uri                    (RBShell *shell,
                                                             const char *uri,
                                                             const char *title,
                                                             const char *genre,
                                                             GError **error);
    gboolean            rb_shell_load_uri                   (RBShell *shell,
                                                             const char *uri,
                                                             gboolean play,
                                                             GError **error);
    GObject*            rb_shell_get_player                 (RBShell *shell);
    const char*         rb_shell_get_player_path            (RBShell *shell);
    void                rb_shell_toggle_visibility          (RBShell *shell);
    gboolean            rb_shell_get_song_properties        (RBShell *shell,
                                                             const char *uri,
                                                             GHashTable **properties,
                                                             GError **error);
    gboolean            rb_shell_set_song_property          (RBShell *shell,
                                                             const char *uri,
                                                             const char *propname,
                                                             const GValue *value,
                                                             GError **error);
    void                rb_shell_hidden_notify              (RBShell *shell,
                                                             guint timeout,
                                                             const char *primary,
                                                             GtkWidget *icon,
                                                             const char *secondary,
                                                             gboolean requested);
    void                rb_shell_register_entry_type_for_source
                                                            (RBShell *shell,
                                                             RBSource *source,
                                                             RhythmDBEntryType type);
    void                rb_shell_append_source              (RBShell *shell,
                                                             RBSource *source,
                                                             RBSource *parent);

## Description

## Details

### RB_SHELL_ERROR

    #define RB_SHELL_ERROR rb_shell_error_quark ()

### rb_shell_error_quark ()

    GQuark              rb_shell_error_quark                (void);

Returns : |

### RBShellPrivate

    typedef struct RBShellPrivate RBShellPrivate;

### rb_shell_new ()

    RBShell*            rb_shell_new                        (gboolean no_registration,
                                                             gboolean no_update,
                                                             gboolean dry_run,
                                                             char *rhythmdb,
                                                             char *playlists);

`argc` : |
`argv` : |
`no_registration` : |
`no_update` : |
`dry_run` : |
`rhythmdb` : |
`playlists` : |
Returns : |

### rb_shell_present ()

    gboolean            rb_shell_present                    (RBShell *shell,
                                                             guint32 timestamp,
                                                             GError **error);

`shell` : |
`timestamp` : |
`error` : |
Returns : |

### rb_shell_add_uri ()

    gboolean            rb_shell_add_uri                    (RBShell *shell,
                                                             const char *uri,
                                                             const char *title,
                                                             const char *genre,
                                                             GError **error);

`shell` : |
`uri` : |
`title` : |
`genre` : |
`error` : |
Returns : |

### rb_shell_load_uri ()

    gboolean            rb_shell_load_uri                   (RBShell *shell,
                                                             const char *uri,
                                                             gboolean play,
                                                             GError **error);

`shell` : |
`uri` : |
`play` : |
`error` : |
Returns : |

### rb_shell_get_player ()

    GObject*            rb_shell_get_player                 (RBShell *shell);

`shell` : |
Returns : |

### rb_shell_get_player_path ()

    const char*         rb_shell_get_player_path            (RBShell *shell);

`shell` : |
Returns : |

### rb_shell_toggle_visibility ()

    void                rb_shell_toggle_visibility          (RBShell *shell);

`shell` : |

### rb_shell_get_song_properties ()

    gboolean            rb_shell_get_song_properties        (RBShell *shell,
                                                             const char *uri,
                                                             GHashTable **properties,
                                                             GError **error);

`shell` : |
`uri` : |
`properties` : |
`error` : |
Returns : |

### rb_shell_set_song_property ()

    gboolean            rb_shell_set_song_property          (RBShell *shell,
                                                             const char *uri,
                                                             const char *propname,
                                                             const GValue *value,
                                                             GError **error);

`shell` : |
`uri` : |
`propname` : |
`value` : |
`error` : |
Returns : |

### rb_shell_hidden_notify ()

    void                rb_shell_hidden_notify              (RBShell *shell,
                                                             guint timeout,
                                                             const char *primary,
                                                             GtkWidget *icon,
                                                             const char *secondary,
                                                             gboolean requested);

`shell` : |
`timeout` : |
`primary` : |
`icon` : |
`secondary` : |
`requested` : |

### rb_shell_register_entry_type_for_source ()

    void                rb_shell_register_entry_type_for_source
                                                            (RBShell *shell,
                                                             RBSource *source,
                                                             RhythmDBEntryType type);

`shell` : |
`source` : |
`type` : |

### rb_shell_append_source ()

    void                rb_shell_append_source              (RBShell *shell,
                                                             RBSource *source,
                                                             RBSource *parent);

`shell` : |
`source` : |
`parent` : |