TRACK SHUFFLING SYSTEM AND METHOD
A method and computer program product for defining an active playlist of media tracks for rendering in a defined sequence. A portion of the media tracks defined in the active playlist are rendered. A shuffle command is received from a user concerning the active playlist. A non-rendered playlist is generated. The non-rendered playlist defines one or more non-rendered media tracks included within the active playlist and excludes one or more rendered media track included within the active playlist. A rendering sequence is defined for the non-rendered playlist.
1 . A method comprising:
defining an active playlist of media tracks for rendering in a defined sequence;
rendering a portion of the media tracks defined in the active playlist;
receiving a shuffle command from a user concerning the active playlist;
generating a non-rendered playlist, wherein the non-rendered playlist defines one or more non-rendered media tracks included within the active playlist and excludes one or more rendered media tracks included within the active playlist; and
defining a rendering sequence for the non-rendered playlist.
2 . The method of claim 1 wherein generating a non-rendered playlist includes:
identifying one or more rendered tracks included within the active playlist;
and
identifying one or more non-rendered tracks included within the active playlist.
3 . The method of claim 2 wherein generating a non-rendered playlist includes:
comparing the one or more rendered tracks included within the active playlist to the one or more non-rendered tracks included within the active playlist to identify one or more common tracks; and
removing the one or more common tracks from the one or more non- rendered tracks included within the active playlist, thus defining the non-rendered playlist.
4 . The method of claim 2 wherein defining a rendering sequence for the non-rendered playlist includes:
selecting a first track for rendering from the non-rendered playlist;
rendering the first track;
removing the first track from the non-rendered playlist, thus defining a modified non-rendered playlist; and
selecting a second track for rendering from the modified non-rendered playlist.
5 . The method of claim 2 wherein defining a rendering sequence for the non-rendered playlist includes:
defining a non-rendered track rendering sequence for two or more of the non-rendered tracks defined within the non-rendered playlist; and
rendering the two or more non-rendered tracks in accordance with the non-rendered track rendering sequence.
6 . The method of claim 2 further comprising:
defining one or more supplemental tracks for adding to the non-rendered playlist.
7 . The method of claim 6 further comprising:
comparing the one or more supplemental tracks to the one or more non-rendered tracks defined within the non-rendered playlist to identify one or more common tracks;
removing the one or more common tracks from the one or more supplemental tracks, thus defining one or more non-common supplemental tracks.
8 . The method of claim 7 further comprising:
adding the one or more non-common supplemental tracks to the non-rendered playlist.
9 . The method of claim 7 wherein the method is executed, at least in part, on a server computer.
10 . The method of claim 1 wherein the method is executed, at least in part, on a client electronic device.
11 . A computer program product residing on a computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:
defining an active playlist of media tracks for rendering in a defined sequence;
rendering a portion of the media tracks defined in the active playlist;
receiving a shuffle command from a user concerning the active playlist;
generating a non-rendered playlist, wherein the non-rendered playlist defines one or more non-rendered media tracks included within the active playlist and excludes one or more rendered media tracks included within the active playlist; and
defining a rendering sequence for the non-rendered playlist.
12 . The computer program product of claim 11 wherein the instructions for generating a non-rendered playlist include instructions for:
identifying one or more rendered tracks included within the active playlist;
and
identifying one or more non-rendered tracks included within the active playlist.
13 . The computer program product of claim 12 wherein the instructions for generating a non-rendered playlist include instructions for:
comparing the one or more rendered tracks included within the active playlist to the one or more non-rendered tracks included within the active playlist to identify one or more common tracks; and
removing the one or more common tracks from the one or more non-rendered tracks included within the active playlist, thus defining the non-rendered playlist.
14 . The computer program product of claim 12 wherein the instructions for defining a rendering sequence for the non-rendered playlist include instructions for:
selecting a first track for rendering from the non-rendered playlist;
rendering the first track;
removing the first track from the non-rendered playlist, thus defining a modified non-rendered playlist; and
selecting a second track for rendering from the modified non-rendered playlist.
15 . The computer program product of claim 12 wherein the instructions for defining a rendering sequence for the non-rendered playlist include instructions for:
defining a non-rendered track rendering sequence for two or more of the non-rendered tracks defined within the non-rendered playlist; and
rendering the two or more non-rendered tracks in accordance with the non-rendered track rendering sequence.
16 . The computer program product of claim 12 further comprising instructions for:
defining one or more supplemental tracks for adding to the non-rendered playlist.
17 . The computer program product of claim 16 further comprising instructions for:
comparing the one or more supplemental tracks to the one or more non-rendered tracks defined within the non-rendered playlist to identify one or more common tracks;
removing the one or more common tracks from the one or more supplemental tracks, thus defining one or more non-common supplemental tracks.
18 . The computer program product of claim 17 further comprising instructions for:
adding the one or more non-common supplemental tracks to the non-rendered playlist.
19 . The computer program product of claim 17 wherein the computer program product is executed, at least in part, on a server computer.
20 . The computer program product of claim 11 wherein the computer program product is executed, at least in part, on a client electronic device.