RBHeader

## RBHeader RBHeader — playback area widgetry |

## Synopsis

    struct              RBHeader;
    struct              RBHeaderClass;
    RBHeader *          rb_header_new                       (RBShellPlayer *shell_player,
                                                             RhythmDB *db);
    void                rb_header_set_show_position_slider  (RBHeader *header,
                                                             gboolean show);
    void                rb_header_sync                      (RBHeader *header);
    void                rb_header_sync_time                 (RBHeader *header);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkWidget
                   +----GtkContainer
                         +----GtkBox
                               +----GtkHBox
                                     +----RBHeader

## Implemented Interfaces

RBHeader implements AtkImplementorIface, GtkBuildable and GtkOrientable.

## Properties

      "db"                       RhythmDB*             : Read / Write
      "seekable"                 gboolean              : Read / Write
      "shell-player"             RBShellPlayer*        : Read / Write / Construct Only
      "show-position-slider"     gboolean              : Read / Write
      "show-remaining"           gboolean              : Read / Write
      "slider-dragging"          gboolean              : Read

## Description

The RBHeader widget displays information about the current playing track (title, album, artist), the elapsed or remaining playback time, and a position slider indicating the playback position. It translates slider move and drag events into seek requests for the player backend.

For shoutcast-style streams, the title/artist/album display is supplemented by metadata extracted from the stream. See RBStreamingSource for more information on how the metadata is reported.

## Details

### struct RBHeader

    struct RBHeader;

### struct RBHeaderClass

    struct RBHeaderClass {
    	GtkHBoxClass parent;
    };

### rb_header_new ()

    RBHeader *          rb_header_new                       (RBShellPlayer *shell_player,
                                                             RhythmDB *db);

Creates a new header widget.

`shell_player` : | the RBShellPlayer instance
`db` : | the RhythmDB instance
Returns : | the header widget

### rb_header_set_show_position_slider ()

    void                rb_header_set_show_position_slider  (RBHeader *header,
                                                             gboolean show);

### rb_header_sync ()

    void                rb_header_sync                      (RBHeader *header);

Updates the header widget to be consistent with the current playing entry including all streaming metadata.

`header` : | the RBHeader

### rb_header_sync_time ()

    void                rb_header_sync_time                 (RBHeader *header);

Updates the time display components of the header. If the position slider is being dragged, the display is not updated. If the duration of the playing entry is known, the position slider is updated along with the elapsed/remaining time display. Otherwise, the slider is made insensitive.

`header` : | the RBHeader

## Property Details

### The `"db"` property

      "db"                       RhythmDB*             : Read / Write

RhythmDB instance

### The `"seekable"` property

      "seekable"                 gboolean              : Read / Write

If TRUE, the header should allow seeking by dragging the playback position slider

Default value: TRUE

### The `"shell-player"` property

      "shell-player"             RBShellPlayer*        : Read / Write / Construct Only

The RBShellPlayer instance

### The `"show-position-slider"` property

      "show-position-slider"     gboolean              : Read / Write

Whether to show the playback position slider.

Default value: TRUE

### The `"show-remaining"` property

      "show-remaining"           gboolean              : Read / Write

Whether to show remaining time (as opposed to elapsed time) in the numeric time display.

Default value: FALSE

### The `"slider-dragging"` property

      "slider-dragging"          gboolean              : Read

Whether the song position slider is currently being dragged.

Default value: FALSE