| Rhythmbox Development Reference Manual | ||||
|---|---|---|---|---|
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);
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. |