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