![]() |
![]() |
![]() |
Rhythmbox Development Reference Manual | ![]() |
---|
rb-play-orderrb-play-order — |
typedef RBPlayOrderPrivate; RBPlayOrder* rb_play_order_new (const char *play_order_name, RBShellPlayer *player); RBPlayOrderDescription; const RBPlayOrderDescription* rb_play_order_get_orders (void); void rb_play_order_playing_source_changed (RBPlayOrder *porder, RBSource *source); gboolean rb_play_order_has_next (RBPlayOrder *porder); RhythmDBEntry* rb_play_order_get_next (RBPlayOrder *porder); void rb_play_order_go_next (RBPlayOrder *porder); gboolean rb_play_order_has_previous (RBPlayOrder *porder); RhythmDBEntry* rb_play_order_get_previous (RBPlayOrder *porder); void rb_play_order_go_previous (RBPlayOrder *porder); RBShellPlayer* rb_play_order_get_player (RBPlayOrder *porder); RBSource* rb_play_order_get_source (RBPlayOrder *porder); RhythmDB* rb_play_order_get_db (RBPlayOrder *porder); RhythmDBEntry* rb_play_order_get_playing_entry (RBPlayOrder *porder); gboolean rb_play_order_player_is_playing (RBPlayOrder *porder); void rb_play_order_ref_entry_swapped (RhythmDBEntry *entry, RhythmDB *db); void rb_play_order_unref_entry_swapped (RhythmDBEntry *entry, RhythmDB *db);
RBPlayOrder* rb_play_order_new (const char *play_order_name, RBShellPlayer *player);
Creates a new RBPlayOrder of the specified type.
play_order_name : |
|
player : |
RBShellPlayer instance to attach to |
Returns : | RBPlayOrder instance |
typedef struct { /** Value of the state/play-order gconf key */ char *name; /** Contents of the play order dropdown; should be gettext()ed before use. */ char *description; /** the play order's _new function */ RBPlayOrder *(*constructor)(RBShellPlayer *player); /** TRUE if the play order should appear in the dropdown */ gboolean is_in_dropdown; /** If the value of the state/play-order gconf key isn't found, the one * with is_default==TRUE will be used. */ gboolean is_default; } RBPlayOrderDescription;
const RBPlayOrderDescription* rb_play_order_get_orders (void);
Defines the set of available play orders, their translatable descriptions, their constructor functions, whether they should appear in a drop-down list of play orders, and which one is the default.
This should be the only function with full knowledge of what play orders are available.
Returns : |
void rb_play_order_playing_source_changed (RBPlayOrder *porder, RBSource *source);
Sets the playing RBSource for the play order. Should be called
by RBShellPlayer when the active source changes. Subclasses
should implement playing_source_changed()
to make any necessary
changes.
porder : |
RBPlayOrder instance |
source : |
New playing RBSource |
gboolean rb_play_order_has_next (RBPlayOrder *porder);
If there is no current playing entry, returns true if the play order is non-empty.
porder : |
RBPlayOrder instance. |
Returns : | true if there is an entry after the current playing entry in the play order. |
RhythmDBEntry* rb_play_order_get_next (RBPlayOrder *porder);
porder : |
RBPlayOrder instance |
Returns : | the next entry in the play order, or the first if not currently playing. |
void rb_play_order_go_next (RBPlayOrder *porder);
Moves to the next entry in the play order. If not currently playing, sets the first entry in the play order as the playing entry.
porder : |
RBPlayOrder instance |
gboolean rb_play_order_has_previous (RBPlayOrder *porder);
porder : |
RBPlayOrder instance |
Returns : | true if there is an entry before the current entry in the play order. If not currently playing, returns false. |
RhythmDBEntry* rb_play_order_get_previous (RBPlayOrder *porder);
porder : |
RBPlayOrder instance |
Returns : | the previous entry in the play order, or NULL if not currently playing. |
void rb_play_order_go_previous (RBPlayOrder *porder);
Moves to the previous entry in the play order. If not currently playing, does nothing.
porder : |
RBPlayOrder instance |
RBShellPlayer* rb_play_order_get_player (RBPlayOrder *porder);
Only for use by RBPlayOrder subclasses.
porder : |
RBPlayOrder instance |
Returns : | RBShellPlayer instance |
RBSource* rb_play_order_get_source (RBPlayOrder *porder);
Only for use by RBPlayOrder subclasses.
porder : |
RBPlayOrder instance |
Returns : | the playing RBSource instance. |
RhythmDB* rb_play_order_get_db (RBPlayOrder *porder);
Only for use by RBPlayOrder subclasses.
porder : |
RBPlayOrder instance |
Returns : | the RhythmDB instance. |
RhythmDBEntry* rb_play_order_get_playing_entry (RBPlayOrder *porder);
porder : |
RBPlayOrder instance |
Returns : | the current playing entry in the play order. |
gboolean rb_play_order_player_is_playing (RBPlayOrder *porder);
porder : |
RBPlayOrder instance |
Returns : | true if there is a current playing entry in the play order. |
void rb_play_order_ref_entry_swapped (RhythmDBEntry *entry, RhythmDB *db);
Utility function that can be used with RBHistory to implement play orders that maintain an internal list of entries.
entry : |
RhythmDBEntry to reference |
db : |
RhythmDB instance |
void rb_play_order_unref_entry_swapped (RhythmDBEntry *entry, RhythmDB *db);
Utility function that can be used with RBHistory to implement play orders that maintain an internal list of entries.
entry : |
RhythmDBEntry to unreference |
db : |
RhythmDB instance |
<< rb-play-order-shuffle | rb-shell-clipboard >> |