I think that a boolean parameter "is_auto" (or some name like that) should be added to the get_next and get_previous functions of the rb-play-order class. This would allow play orders like shuffle to to different things depending on whether the next or previous was initiated the action or not. Example: shuffle should return the next song if the "Next" button is pressed, otherwise it should behave as it does now.
Attachment:
signature.asc
Description: This is a digitally signed message part