Infinite playback queue manipulation

20230070851 ยท 2023-03-09

    Inventors

    Cpc classification

    International classification

    Abstract

    A media playback queue defining the upcoming playback sequence of media data items may be continually generated using an automatic software function or manual user selections. The playback queue may be edited to modify or re-arrange the upcoming playback sequence. Automatic addition of media data items may be controlled by defining a non-predetermined set of media data items comprising a subset of a media library, such as a combination of filesystem directories or specifically selected metadata tags. The playback queue may be configured to maintain a minimum number of queued media data items, to provide a mechanism of anticipating upcoming media data items intended for playback, and to allow for pre-emptive modification of the playback queue sequence by editing the anticipated playback queue. Th invention provides a controllable method of random shuffled automatic media library playback by providing a novel opportunity to remove undesired items from the playback queue.

    Claims

    1. A computer-implemented method comprising: software and hardware to access media data items and facilitate media data playback; a media library comprising a plurality of multiple media data items stored on at least one storage device, though a media library may optionally be comprised of media data items stored on multiple storage devices, wherein such storage devices used to store media data items comprising a media library may include hard drives, disk drives, solid state flash memory, network-based cloud storage services, remote network file system protocols, or remote network-based communications protocols whereby media data items may be accessed using network protocol software to communicate the media data items from a remote server; a playback queue comprising one or more media data items pending for future intended playback following completion of a currently playing media data item; a sequential queue advancement function to automatically initiate playback of a next pending media data item from the playback queue when playback of a currently playing media data item completes, such that the currently playing media data item is removed from the playback queue before the next pending media data item becomes the currently playing media data item; an automatic media data item selection mechanism is used to maintain a minimum playback queue size by algorithmically selecting a media data item from the media library for addition to the end of the playback queue for future intended playback whenever the playback queue size is smaller than the configured minimum playback queue size, in order to maintain the minimum playback queue size, such that the newly added automatically selected media data item is intended for playback subsequent to any media data items already pending in the playback queue, wherein this mechanism of maintaining a minimum playback queue size may be utilized as a method for continuous media playback operation.

    2. The invention set forth in claim 1, wherein: the automatic media data item selection mechanism used to maintain a minimum playback queue size algorithmically selects a media data item from within a limited subset of media data items out of the total plurality of media data items comprising the entire media library, wherein: a user-input method is utilized to specify a limited subset of media data items from the plurality of media data items comprising the entire media library, in order to more precisely control which media data items from within the media library are to be utilized by the automatic media data item selection mechanism for media data item addition to the playback queue, such that an inverse subset of unavailable media data items comprises the presently undesirable media data items that are not to be utilized for automatic media data item selection whenever it becomes necessary to maintain a minimum playback queue size using automatic selection of a media data item; a user-input method can be utilized to modify the subset of media data items or to specify an alternate subset of media data items.

    3. A computer-implemented method comprising: software and hardware to access media data items and facilitate media data playback; a media library comprising a plurality of multiple media data items stored on at least one storage device, though a media library may optionally be comprised of media data items stored on multiple storage devices, wherein such storage devices used to store media data items comprising a media library may include hard drives, disk drives, solid state flash memory, network-based cloud storage services, remote network file system protocols, or remote network-based communications protocols whereby media data items may be accessed using network protocol software to communicate the media data items from a remote server; a playback queue comprising one or more media data items pending for future intended playback following completion of a currently playing media data item; a sequential queue advancement function to automatically initiate playback of a next pending media data item from the playback queue when playback of a currently playing media data item completes, such that the currently playing media data item is removed from the playback queue before the next pending media data item becomes the currently playing media data item; a user-input mechanism to select a media data item within the playback queue in order to move that media data item to an alternate position within the playback queue, thereby altering the sequence of the media data items in the playback queue to better satisfy the user's playback sequence preference.

    4. A computer-implemented method comprising: software and hardware to access media data items and facilitate media data playback; a media library comprising a plurality of multiple media data items stored on at least one storage device, though a media library may optionally be comprised of media data items stored on multiple storage devices, wherein such storage devices used to store media data items comprising a media library may include hard drives, disk drives, solid state flash memory, network-based cloud storage services, remote network file system protocols, or remote network-based communications protocols whereby media data items may be accessed using network protocol software to communicate the media data items from a remote server; a playback queue comprising one or more media data items pending for future intended playback following completion of a currently playing media data item; a sequential queue advancement function to automatically initiate playback of a next pending media data item from the playback queue when playback of a currently playing media data item completes, such that the currently playing media data item is removed from the playback queue before the next pending media data item becomes the currently playing media data item; a user-input mechanism to manually select a desired media data item from the media library for insertion into the playback queue, wherein the addition to the playback queue may be precisely controlled to place the selected media data item within the playback queue, at the beginning or end of the playback queue or elsewhere.

    5. The invention set forth in claim 1, further comprising: a user-input mechanism to select a media data item within the playback queue in order to move that media data item to an alternate position within the playback queue, thereby altering the sequence of the media data items in the playback queue to better satisfy the user's playback sequence preference.

    6. The invention set forth in claim 4, further comprising: a user-input mechanism to select a media data item within the playback queue in order to move that media data item to an alternate position within the playback queue, thereby altering the sequence of the media data items in the playback queue to better satisfy the user's playback sequence preference.

    7. The invention set forth in claim 1, further comprising: a user-input mechanism to manually select a desired media data item from the media library for insertion into the playback queue, wherein the addition to the playback queue may be precisely controlled to place the selected media data item within the playback queue, at the beginning or end of the playback queue or elsewhere.

    8. The invention set forth in claim 3, further comprising: a user-input mechanism to manually select a desired media data item from the media library for insertion into the playback queue, wherein the addition to the playback queue may be precisely controlled to place the selected media data item within the playback queue, at the beginning or end of the playback queue or elsewhere.

    9. The invention set forth in claim 1, further comprising: a user-input mechanism to remove an undesired media data item from the playback queue.

    10. The invention set forth in claim 3, further comprising: a user-input mechanism to remove an undesired media data item from the playback queue.

    11. The invention set forth in claim 4, further comprising: a user-input mechanism to remove an undesired media data item from the playback queue.

    12. The invention set forth in claim 1, further comprising: a user-input mechanism to manually select a desired media data item from the media library for insertion into the playback queue using user-input to provide direct user-control of which position within the playback queue the selected media data item should be inserted;

    13. The invention set forth in claim 3, further comprising: a user-input mechanism to manually select a desired media data item from the media library for insertion into the playback queue using user-input to provide direct user-control of which position within the playback queue the selected media data item should be inserted;

    14. The invention set forth in claim 4, further comprising: a user-input mechanism to manually select a desired media data item from the media library for insertion into the playback queue using user-input to provide direct user-control of which position within the playback queue the selected media data item should be inserted;

    15. The invention set forth in claim 1, further comprising: a user-input mechanism to select a media data item already contained within the playback queue in order to play the selected media data item more than once by inserting an additional entry of the selected media data item into the playback queue.

    16. The invention set forth in claim 3, further comprising: a user-input mechanism to select a media data item already contained within the playback queue in order to play the selected media data item more than once by inserting an additional entry of the selected media data item into the playback queue.

    17. The invention set forth in claim 4, further comprising: a user-input mechanism to select a media data item already contained within the playback queue in order to play the selected media data item more than once by inserting an additional entry of the selected media data item into the playback queue.

    18. The invention set forth in claim 1, further comprising: an alarm clock function used to pause or unpause playback by interrupting or recommencing playback of the playback queue, at a configurable future time or set of times.

    19. The invention set forth in claim 3, further comprising: an alarm clock function used to pause or unpause playback by interrupting or recommencing playback of the playback queue, at a configurable future time or set of times.

    20. The invention set forth in claim 4, further comprising: an alarm clock function used to pause or unpause playback by interrupting or recommencing playback of the playback queue, at a configurable future time or set of times.

    Description

    BRIEF DESCRIPTION OF DRAWINGS

    [0036] These and other features of the invention will be readily apparent to those skilled in the art, and the invention will be readily understood from the following descriptions of the invention as depicted by the accompanying drawings, wherein a chronological sequence of several text-based terminal screenshots are provided to graphically illustrate various features of the invention.

    [0037] FIG. 1 depicts a simple text-terminal user-interface with a media library navigation list (2) and an empty playback queue (1) with zero media data items intended for playback; no media data items have yet been loaded into the media library navigation list, so none are available yet.

    [0038] FIG. 2 depicts the playback queue (1) was populated with five media data items(4) that were automatically selected and inserted, after the navigation list (2) was used to open a filesystem directory(3) containing a plurality of media data items. Playback was initiated.

    [0039] FIG. 3 depicts the playback queue was modified with the addition of one media data item (5) to the end of the playback queue(1), and the navigation list (2) shows more media data items within the same subset of the media library depicted in FIG. 2.

    [0040] FIG. 4 depicts a further modified playback queue (1) wherein two undesired media data items were removed from the playback queue, and one media data item was inserted at the top of the playback queue (6), to be played next. Elapsed play time of the currently playing media data item is near completion (7).

    [0041] FIG. 5 depicts a further modified playback queue (1) wherein the playback queue was automatically advanced to the next media data item. Additional media data items have been selected for insertion to both the top (8) and bottom (9) of the play queue. The navigation list (2) shows an entirely different filesystem directory (3).

    [0042] FIG. 6 depicts an automatic advancement of the play queue (1) following completion of the previously playing media data item, but no media data items are automatically added because the play queue size did not yet fall below the minimum play queue size.

    [0043] FIG. 7 depicts the manual insertion of two media data items to the beginning (10) of the playback queue (1).

    [0044] FIG. 8 depicts the manual removal of several media data items from the playback queue (1) after playback was automatically advanced to the next pending media data item (11). The navigation list (2) was again changed using user-input to select an entirely different subset of the media library (3).

    [0045] FIG. 9 depicts a further advancement of the playback queue (1), and this advancement triggered automatic selection and insertion of two randomly selected media data items (12) from the navigation list (2) that was changed in FIG. 8, to satisfy a minimum queue size.

    [0046] FIG. 10 depicts a further advancement of the playback queue (1) and manual editing to remove several undesired media data items. The removal of the undesired media data items triggered automatic addition of media data items (13) from the subset specified by the navigation list (2), in order to maintain a minimum queue size.

    [0047] FIG. 11 depicts advancement of the playback queue (1) to the next pending media data item(14), and manual insertion of several selected media data items (15) into the playback queue.

    [0048] FIG. 12 depicts the minimum playback queue size being relied upon after a different subset (3) of the media library was selected using user-input in the navigation list (2). Multiple playback queue advancements took place until the queue size fell below the minimum queue size, so additional media data items (16) were automatically selected for insertion from the most recently selected subset (3) of the media library. Beethoven and Bach music media data items (16) were automatically added following playback of the various rap-genre media data items (15) that were manually added to the playback queue (1) in FIG. 11.

    [0049] FIG. 13 depicts one additional classical-genre media data item (17) was added to the playback queue (1) from the navigation list (2) depicted in FIG. 12, before changing the navigation list (2) back to the rap-genre subset (3) of media data items depicted in FIGS. 8, 9, 10, 11 in order to select one additional media data item (18) that was also added to the playback queue (1). The playback queue ordering was then modified so the pending classical-genre media data items (16) will be played before the pending rap-genre media data items (15) and (18).

    [0050] FIG. 14 depicts an empty subset of media data items within the media library in the navigation window(2), whereby no media data items are available(18). The minimum queue size was therefore not maintained. Playback of future pending media data items in the playback queue (1) was completed except for the last item (19) that is currently playing. All of the previously played media data items were removed from the playback queue.

    [0051] FIG. 15 depicts the navigation window (2) using an alternate mode not presented in previous figures that simultaneously presents a large scrollable listing of media data items and their comprising directories as a sorted list, generated automatically from a plurality of filesystem directories that were recursively opened, read, and sorted into the presented listing of media data items, and the playback queue (1) is configured as a larger set than was utilized in previous figures, to fully illustrate the adjustable nature of a configurable minimum queue size.

    DETAILED DESCRIPTION

    [0052] The invention provides a method to dynamically generate a sequence of media data items as a playback queue, by selecting media data items from a media library or a subset of the media library. The playback queue may be simultaneously displayed to the user on-screen along with a media library subset navigation list used to select and display a set of media data items available for selection.

    [0053] The playback queue may be edited using user-interface software to re-arrange the sequence of media data items intended for playback. Media data items may also be manually inserted into the playback queue in a specifically desired position, or removed from the playback queue.

    [0054] A novel mechanism of defining a subset of the media library is a function to recursively navigate the set of all media data items within the current working directory and all sub-directories to the deepest computable extent of the sub-directory structures. A different subset of the media library may similarly be generated by recursively accumulating the set of media data items located within multiple selected filesystem directories and all of the recursively accessible sub-directories. A subset of the media library is used to control which media data items may be added to the playback queue. The playback queue may also be controlled using a more traditional subset of the media library, such as the list of all available media data items comprising a specific filesystem directory, or from a playlist containing a fixed set of media data items.

    [0055] The upcoming sequence of media data items comprising the playback queue should have a user-configurable minimum number of media data items. Whenever the actual number of media data items in the queue is smaller than the minimum, media data items should be automatically added to maintain a minimum queue size. A minimum queue size provides an opportunity for monitoring the playback queue in order to facilitate manual removal of undesirable media data items from the playback queue. A minimum queue size represents the best-mode contemplated by the inventor.

    [0056] A subset of the media library is used to automatically generate the queue, and this set of media data items may be accessed randomly or sequentially, depending on a user preference for shuffle mode. Whenever a media data item is automatically added to the queue, it is inserted at the end of the queue so that the upcoming sequence of intended media data items remains undisturbed.