## rb-shell

rb-shell

## Synopsis

    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);
    RBSource*           rb_shell_guess_source_for_uri       (RBShell *shell,
                                                             const char *uri);
    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);
    GObject*            rb_shell_get_playlist_manager       (RBShell *shell);
    const char*         rb_shell_get_playlist_manager_path  (RBShell *shell);
    GObject*            rb_shell_get_ui_manager             (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);
    gboolean            rb_shell_add_to_queue               (RBShell *shell,
                                                             const gchar *uri,
                                                             GError **error);
    gboolean            rb_shell_remove_from_queue          (RBShell *shell,
                                                             const gchar *uri,
                                                             GError **error);
    gboolean            rb_shell_clear_queue                (RBShell *shell,
                                                             GError **error);
    gboolean            rb_shell_quit                       (RBShell *shell,
                                                             GError **error);
    void                rb_shell_hidden_notify              (RBShell *shell,
                                                             guint timeout,
                                                             const char *primary,
                                                             GtkWidget *icon,
                                                             const char *secondary,
                                                             gboolean requested);
    void                rb_shell_hidden_notify_markup       (RBShell *shell,
                                                             guint timeout,
                                                             const char *primary_markup,
                                                             GtkWidget *icon,
                                                             const char *secondary_markup,
                                                             gboolean requested);
    void                rb_shell_notify_playing_entry       (RBShell *shell,
                                                             RhythmDBEntry *entry,
                                                             gboolean requested);
    gboolean            rb_shell_do_notify                  (RBShell *shell,
                                                             gboolean requested,
                                                             GError **error);
    void                rb_shell_register_entry_type_for_source
                                                            (RBShell *shell,
                                                             RBSource *source,
                                                             RhythmDBEntryType type);
    RBSource*           rb_shell_get_source_by_entry_type   (RBShell *shell,
                                                             RhythmDBEntryType type);
    gboolean            rb_shell_get_party_mode             (RBShell *shell);
    void                rb_shell_append_source              (RBShell *shell,
                                                             RBSource *source,
                                                             RBSource *parent);
    void                rb_shell_add_widget                 (RBShell *shell,
                                                             GtkWidget *widget,
                                                             RBShellUILocation location);
    void                rb_shell_remove_widget              (RBShell *shell,
                                                             GtkWidget *widget,
                                                             RBShellUILocation location);
    void                rb_shell_notebook_set_page          (RBShell *shell,
                                                             GtkWidget *widget);

## Description

## Details

### 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);

`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_guess_source_for_uri ()

    RBSource*           rb_shell_guess_source_for_uri       (RBShell *shell,
                                                             const char *uri);

`shell` : |
`uri` : |
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_get_playlist_manager ()

    GObject*            rb_shell_get_playlist_manager       (RBShell *shell);

`shell` : |
Returns : |

### rb_shell_get_playlist_manager_path ()

    const char*         rb_shell_get_playlist_manager_path  (RBShell *shell);

`shell` : |
Returns : |

### rb_shell_get_ui_manager ()

    GObject*            rb_shell_get_ui_manager             (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_add_to_queue ()

    gboolean            rb_shell_add_to_queue               (RBShell *shell,
                                                             const gchar *uri,
                                                             GError **error);

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

### rb_shell_remove_from_queue ()

    gboolean            rb_shell_remove_from_queue          (RBShell *shell,
                                                             const gchar *uri,
                                                             GError **error);

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

### rb_shell_clear_queue ()

    gboolean            rb_shell_clear_queue                (RBShell *shell,
                                                             GError **error);

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

### rb_shell_quit ()

    gboolean            rb_shell_quit                       (RBShell *shell,
                                                             GError **error);

`shell` : |
`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_hidden_notify_markup ()

    void                rb_shell_hidden_notify_markup       (RBShell *shell,
                                                             guint timeout,
                                                             const char *primary_markup,
                                                             GtkWidget *icon,
                                                             const char *secondary_markup,
                                                             gboolean requested);

`shell` : |
`timeout` : |
`primary_markup` : |
`icon` : |
`secondary_markup` : |
`requested` : |

### rb_shell_notify_playing_entry ()

    void                rb_shell_notify_playing_entry       (RBShell *shell,
                                                             RhythmDBEntry *entry,
                                                             gboolean requested);

`shell` : |
`entry` : |
`requested` : |

### rb_shell_do_notify ()

    gboolean            rb_shell_do_notify                  (RBShell *shell,
                                                             gboolean requested,
                                                             GError **error);

`shell` : |
`requested` : |
`error` : |
Returns : |

### 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_get_source_by_entry_type ()

    RBSource*           rb_shell_get_source_by_entry_type   (RBShell *shell,
                                                             RhythmDBEntryType type);

`shell` : |
`type` : |
Returns : |

### rb_shell_get_party_mode ()

    gboolean            rb_shell_get_party_mode             (RBShell *shell);

`shell` : |
Returns : |

### rb_shell_append_source ()

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

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

### rb_shell_add_widget ()

    void                rb_shell_add_widget                 (RBShell *shell,
                                                             GtkWidget *widget,
                                                             RBShellUILocation location);

`shell` : |
`widget` : |
`location` : |

### rb_shell_remove_widget ()

    void                rb_shell_remove_widget              (RBShell *shell,
                                                             GtkWidget *widget,
                                                             RBShellUILocation location);

`shell` : |
`widget` : |
`location` : |

### rb_shell_notebook_set_page ()

    void                rb_shell_notebook_set_page          (RBShell *shell,
                                                             GtkWidget *widget);

`shell` : |
`widget` : |