Abstract:
A number of user interface techniques for virtual instruments implemented using a computer are disclosed. These techniques include providing a multi-sized user interface, separating a user interface into two control regions, providing a pop-out control panel, providing a graphical playlist indicator, inter-relating band controls, controlling button illumination, sliding information onto and off of a display panel, integrating visualizations into an instrument, and providing a pop-out control panel with control buttons.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS  
       [0001]    Priority is claimed to U.S. Provisional Application No. 60/139,158, filed Jun. 14, 1999, which is incorporated herein by reference. 
     
    
     
       BACKGROUND OF THE INVENTION  
         [0002]    The field of the present invention relates to user interface controls for virtual instruments displayed using a computer, and to the application of user interface controls in the context of a media player (e.g., an audio player).  
           [0003]    Virtual instruments have been implemented on computers for some time. However, the user interfaces for many of these virtual instruments are often inconsistent with the instruments that they are intended to portray. The inventors have recognized a need for improvements to the user interfaces of virtual instruments.  
         SUMMARY OF THE INVENTION  
         [0004]    The present invention relates to certain aspects of a user interface for a virtual instrument that is being displayed by a computer. These aspects include providing a multi-sized user interface, separating a user interface into two control regions, providing a pop-out control panel, providing a graphical playlist indicator, inter-relating band controls, controlling button illumination, sliding information onto and off of a display panel, integrating visualizations into an instrument, and providing a pop-out control panel with control buttons.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0005]    [0005]FIG. 1 is an example of a large-mode user interface for a media player.  
         [0006]    [0006]FIG. 2 is an example of the large-mode user interface with a slide-out panel extended.  
         [0007]    [0007]FIG. 3 is an example of the large-mode user interface after the visual mode icon has been clicked.  
         [0008]    [0008]FIG. 4 shows a track progress indication in the large-mode user interface.  
         [0009]    [0009]FIG. 5 is an example of a file information display.  
         [0010]    [0010]FIG. 6 is an example of a full-window visualization mode display in the large mode user interface.  
         [0011]    [0011]FIG. 7 shows an alternative full-window visualization display in the large mode user interface.  
         [0012]    [0012]FIG. 8 shows the audio control mode in the large mode user interface.  
         [0013]    [0013]FIG. 9 shows the audio control mode with the equalizer controls set to different positions.  
         [0014]    [0014]FIG. 10 shows the audio control mode with spline tension turned off.  
         [0015]    [0015]FIG. 11 shows a general menu in the large mode user interface.  
         [0016]    [0016]FIG. 12 shows a the setup menu of FIG. 11, with an alternate skin being displayed.  
         [0017]    [0017]FIG. 13 shows the large mode user interface after the alternate skin has been applied.  
         [0018]    [0018]FIG. 14 shows the visual effects menu in the large mode user interface.  
         [0019]    [0019]FIG. 15 shows a plug-ins menu in the large mode user interface.  
         [0020]    [0020]FIG. 16 shows an information screen in the large mode user interface.  
         [0021]    [0021]FIG. 17 shows a playlist editor screen in the large mode user interface.  
         [0022]    [0022]FIG. 17B shows a music download screen in the large mode user interface.  
         [0023]    [0023]FIG. 18 shows a medium size user interface for a media player.  
         [0024]    [0024]FIG. 19 shows the medium size interface with a different visualization waveform selected.  
         [0025]    [0025]FIG. 20 shows a small mode user interface for a media player with the control tray retracted.  
         [0026]    [0026]FIG. 21 shows the small mode user interface with the control tray extended downward.  
         [0027]    [0027]FIG. 22 shows the small mode user interface with the control tray extended upwards. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0028]    The preferred embodiment of the present invention is an audio player and file managing system. It runs as an application on a computer running an operating system such as Windows or Linux. The preferred audio player can appear in any of three display modes: small, medium, and large.  
         [0029]    The large mode, also referred to herein as the navigation console, is shown in FIG. 1. It includes two different types of controls: a group of “hardware like” controls that includes buttons and knobs, and a group of display-based controls.  
         [0030]    The hardware-like controls are operated by the user by clicking on them with a mouse and manipulating them. For example, the play button appears as a round green button with a triangle icon over it. When the mouse pointer is placed over this object, and the left mouse button is pressed, the player will begin to play the currently selected song. Similarly, when the mouse is placed over the pause button and the mouse button is clicked, the currently playing song will be paused. Pressing the pause button again will resume the playing of the song. These controls are called “hardware-like” because their operation mimics the operation of physical pushbuttons on a physical piece of audio equipment like a CD player or a cassette deck.  
         [0031]    The hardware-like section also includes a volume control knob, which is operated using the mouse, as explained in section 2 of the appendix. It also contains track forward and back buttons, a repeat button, a shuffle mode button, and a file select button. The hardware section also includes up and down buttons for toggling between various options, which will be described below.  
         [0032]    The hardware-like section also includes a slide-out panel, which pops out by clicking on the arrow icon (at the bottom left of FIG. 1) with a mouse. When the user pops this panel out, it reveals an additional set of hardware-like controls, as shown in FIG. 2. These controls are explained in section  10  of the appendix. The equalization settings of the player can be modified by clicking and dragging the equalization sliders up or down. The balance, amp, and pitch control knobs in the slide out panel operate in a similar manner as the volume control knob. The slide-out panel can be closed (and returned to the configuration of FIG. 1) by clicking on the arrow icon.  
         [0033]    In addition to the hardware-like control described above, the player also includes computer-like display based controls. These include a set of navigation buttons which appear as small circles in the upper right corner of the display area of the player. These navigation controls are described in section 2 of the appendix. At the very bottom of the display area is the title of the currently selected song. Immediately above the selected song, to the left, is the version of the software running on the player. The central region of the display includes six selection objects: music download, playlist editor, visual mode, setup options, info about, and audio controls. The user can access any of these modes by clicking on the corresponding region of the display. The display regions shown in FIGS. 1 and 2 is called the console navigation screen, which and is also referred to as the main menu.  
         [0034]    [0034]FIG. 3 shows the state of the display after when the visual mode icon has been clicked. The hardware-like controls at the right side and the bottom of the player do not change—they remain the same throughout all the modes. The navigation buttons in the top right of the display appear in this mode as well, as with the other modes. In the top left corner of the display is a visualization window. This window displays a moving graphic that is preferably related to the music being played.  
         [0035]    A track and time indicator is a digital readout located immediately beneath the visualization window. The track indicator indicates which track is being played. The time indicator indicates the amount of time that has elapsed in the track that is currently being played. If the mouse is clicked over the time indicator, it switches to display the amount of time remaining (i.e. unplayed) in the current track.  
         [0036]    The playlist progress indicator and a track progress (time) indicator are located beneath the digital readout. The playlist progress indicator is a linear display of the progress through the playlist, and the track progress indicator is a linear display of the progress through the track. At the beginning of a track, the track progress indicator is dark. As the song plays, the left side of the track progress indicator will light up. The illuminated portion on the left side will grow towards the right as the song progresses, until it reaches the right end of the track progress indicator at the end of the song.  
         [0037]    In addition to their display function, the user can use these progress indicators to jump to any portion in the song by clicking the mouse over the corresponding spot on the track progress indicator. For example, if the user wants to jump directly to the exact center of the song, he would click on the center of the track progress indicator. If the user wants to return to the beginning of the song, he would click on the left side of the track progress indicator. The playlist progress indicator operates in a similar manner, except that the different portions of the playlist indicator correspond to the different tracks of the playlist. Thus, in the displayed example, where the playlist includes exactly two songs, the left half of the playlist progress indicator corresponds to the first song (the first track) and the right half of the playlist progress indicator corresponds to the second track. The user can jump directly to the first track by clicking on the left half of the playlist progress indicator, and can jump to the second track by clicking on the right half of the playlist progress indicator. In cases where there are N tracks on the playlist, the playlist progress indicator would be divided into N equally spaced control regions.  
         [0038]    As the mouse pointer is moved over the various portions of the playlist progress indicator, the name of the corresponding track appears on the bottom portion of the display. As the mouse pointer is moved over various portions of the track progress indicator, the corresponding time and the time remaining in that track appears at the bottom of the display. This is depicted in FIGS. 3 and 4 respectively.  
         [0039]    When the user clicks on the “file info” object of the main menu, the player generates an HTML page and a call is made to launch a browser to display the generated HTML page. Preferably, this HTML page will contain additional information about the track currently being played. An example is shown in FIG. 5.  
         [0040]    Returning to FIG. 4, in the top right corner of the visualization area there are two small icons. When the rightmost of these icons is clicked, the display will switch to full-screen mode and fill the entire computer monitor. This is called the full screen VIS mode. When the leftmost icon is clicked, the display changes into the full window VIS mode. FIG. 6 is an example of the display in the full window VIS mode. When in this mode, the display can be returned to the normal VIS mode(as shown in FIG. 4) by clicking the left icon.  
         [0041]    The controls operate the same way in full window VIS mode and normal VIS mode. Controls are not, however, available in the full screen VIS mode. To regain control of the player in the full screen VIS mode, the user presses the escape button on the computer in both the full window and the normal VIS mode, the up/down button toggles between the different display visualization options. FIG. 7 shows an alternative visualization display which was selected by clicking on the up button. The various visual displays are sequenced through by pressing the up and down buttons.  
         [0042]    To return from the visual mode to the main menu, the user presses the right mouse button. An alternative way of returning to the main menu is to click on the left facing arrow and the small navigation button located at the top right of the display.  
         [0043]    [0043]FIG. 8 shows the display after the user has clicked on the “audio controls” object of the main menu. The visual mode has been turned off in this figure for clarity, although it could remain on if the user so desires. In the audio control mode, the audio enhancement control panel is automatically opened, and an equalization graph is displayed above it. In this mode, the user can modify the frequency response of the player by sliding the equalization sliders (located in the sliding control panel) up or down.  
         [0044]    The display region also includes two boxes: equalizer enabled and spline tension. When the user clicks his mouse pointer in one of these boxes, an X is alternately placed or cleared in the box. By X-ing the equalizer enabled box, the user instructs the system to apply the equalizer settings to the audio being generated. When the equalizer enabled box is not Xed, the equalizer settings are not applied. Near the bottom of the display are load, safe, and reset icons, which are explained in section 10 of the appendix. When the user clicks on reset icon, the equalization settings all return to their center position.  
         [0045]    When spline tension is turned on, sliding one of the equalizer controls effects its neighbors with a rubber-band-like effect. Thus, after resetting the equalizer settings by clicking on reset, if only the center equalizer knob number  10  is moved to the top, the result will be as shown in FIG. 9. Preferably, this effect is inversely proportional to the square of the distance between the sliders.  
         [0046]    In the preferred implementation, when the user first clicks on any slider, the state of all the sliders are saved. Then, when the selected slider is moved, a difference for each of the sliders is computed and then applied to the original saved state of the other sliders. The saved state, however, is not updated until the slider that is currently being moved is released (by releasing the mouse button. Because the saved state is not updated dynamically, movement of any given slider control will not initiate time-variant rippling through the other controls. This arrangement also enables a slider that is returned to its original position and released to leave the other sliders in their original positions.  
         [0047]    In contrast, when spline tension is turned off and the equalizer is reset, and the equalization slider number  10  is then moved up to the top, the resulting frequency response will be as shown in FIG. 10.  
         [0048]    If the user has a particular equalization setting that he likes, he can save that setting by clicking on “save” near the bottom of the screen. A menu slides in and asks the user for a location name for saving the equalization settings. Then, at any later time, the user can return to that equalization setting by clicking on the load on the bottom left of the audio control screen and selecting the corresponding preset file. The user can also select from various predefined presets by clicking on the left and right arrows at the bottom right corner of the display. These arrows will select predefined equalization settings such as classical, jazz, rock, pop, and dance.  
         [0049]    Another menu that is accessible on the main level is setup options. When the setup options object is clicked, the screen changes to the configuration shown in FIG. 11. The general and plug-ins region at the bottom of the display select between two distinct menus. The selected menus appears at the right hand side of the display. In FIG. 11, the general menu is selected. This general menu includes entries of system, audio, visual, file type, Vis FX, Internet, and skins.  
         [0050]    In FIG. 11, the skins selection is wider than the other menu selections because that selection is currently selected. In this mode, The user can toggle through the various available skins by clicking on the up and down select buttons. After clicking on the up select bottom, the next skin is displayed, as seen in FIG. 12. The new skin takes effect when the visual mode is exited (by either clicking on the right mouse button or on the left arrow navigation bottom). The player will then take, on the appearance of the newly selected skin, as shown in FIG. 13.  
         [0051]    Returning now to the setup options of the originally selected display skin, other submenus can be selected by clicking on the desired region displayed on the right side of the screen. For example, when the Vis FX region is clicked, the display will appear as shown in FIG. 14. Note that now the Vis FX bubble is wider than the other bubbles, because it is selected. This mode is used to add special effects to visualization that are displayed in the visual mode. These special effects include blur, smoke, and zoom. The “reverse” check box reverses the direction of the zoom from zoom in to zoom out.  
         [0052]    When the “plugins” region at the bottom is clicked, the menu selectors at the right side shrink towards the right. Meanwhile new menu selectors grow toward the left. In the plugins mode, these new menus include stardust, WMT 1.2, MikIT, and CD audio, as; shown in FIG. 15. These setup options are discussed in section 8 of the appendix.  
         [0053]    When the “info about” region on the main menu is clicked, the display shown in FIG. 16 appears. This display contains general information and also includes three mouse-selectable regions on the right: read me, what&#39;s new, and license. When the user clicks on one of these selectable regions, the system generates an HTML page and launches a browser (such as Internet explorer or Netscape navigator) in a conventional manner. The launched browser will then display canned information associated with the selected word.  
         [0054]    When the “playlist editor” is selected from the main menu mode, the display will change to the configuration of FIG. 17. In this mode, the unit displays all of the tracks that are currently loaded into the unit. In the example of FIG. 17, two tracks are loaded: Brahms intermezzo and Mendelsohn electric guitar. The up and down buttons are used to point to the desired track, and the play button is then used to start the play function. After being pressed, the brightness of the play button momentarily increases, which provides the user with positive feedback. Then, the green-light color of the play button slowly fades out, and it is replaced with a red-light colored stop button. Preferably, the play button has a triangle icon, stop button has a square icon, and the fade in/out takes 200 mSEC. Alternatively, the user may use a mouse and double click on the title in the play list to select and start the desired track.  
         [0055]    At the bottom of the playlist editor screen are sort, shuffle, reverse, clear, add, remove, and save. Clicking on any of these words performs the associated function, as described in section 6 of the appendix. In particular, clicking on save opens a window on the computer screen asking for a destination file into which the playlist should be saved; and clicking on add opens a similar window for loading a previously stored playlist from the computer. Additional information is provided about each of these menu selections at the bottom of the display as the mouse pointer is moved over the corresponding selection region.  
         [0056]    When the “music download” button from the main menu is selected, a number of menu regions will appear on the screen, as shown in FIG. 17B. These regions preferably includes links provided by the player software manufacturer. When the user clicks on one of these links, the player sends a URL to a browser and the browser obtains the associated web page. If the browser is not already running, the player will issue a call to start up the browser. The user then navigates the web in a conventional manner in order to download audio content. In the music download mode, whenever the mouse pointer is placed over one of the links, an explanatory message is displayed at the very bottom of the display.  
         [0057]    In general, when one menu is being replaced with another, the transitions are not abrupt. So instead of abruptly disappearing, an old menu will slide off to the side, to the bottom, or into a corner. Then, the replacement menu will slide in from the side, bottom, or corner. This maintains a feeling that the virtual device is a single instrument, and not a plurality of individual windows of the type normally found on windows based computers. The sliding-tray audio controls (shown in FIG. 2) also contribute to this feeling. Similarly, when menus within a page change, such as the setup option page, the menus do not abruptly disappear: they shrink off to the right and new menus grow in their place.  
         [0058]    The appearance of the unit can be changed with skins as described above, by toggling through the various skins to obtain the desired appearance. Skin designers, do not, however, have complete control over the appearance of the unit. They only have control over the hardware-like portions of the user interface. The unit always retains control of the display portion of the user interface. This arrangement insures that the unit can be easily used no matter what skin is selected, and insures that the commands are easily recognizable. The skins can, however, change the colors of the display area.  
         [0059]    Another advantage of limiting skin flexibility is that it enables old skins to work with new revisions of the software. By limiting new revisions to the display area, changes to the hardware-type area can be avoided. As a result, skins that only modify the hardware-like interface will work properly with new revisions of the software.  
         [0060]    The visual mode is integrated into the unit itself and is not implemented by opening another window on the windows-based computer. This provides a number of advantages: First, it enables the instrument to add text on top of the visual graphic display, which enables a large display to be used without taking up too much space on the computer screen. In addition, when the visual display window is incorporated within the unit itself, movement of the unit on the computer screen appears smooth. Conventional systems, on the other hand, typically paint the graphics in a separate window. This can lead to disjointed movement when the unit is dragged, because the display window may not follow the main unit in lockstep.  
         [0061]    In addition, integrating the graphics into the unit facilitates the development of visual effects by third party developers. The software plug-ins developed by these developers does not need to obtain any knowledge of the text that is to appear over the images. The third party units render their graphics into a bit-map output and the unit modifies this bit-map output and paints the desired text on top of the background provided by the visual program. This approach also enables the unit to apply special effects to the video display, such as blurring and smoke, and does not require each developer of visual systems to provide their own special effects.  
         [0062]    Preferably, the video content is correlated to the audio content in real time. But non-correlated systems may also be implemented. In addition, other non-audio outputs may also be added including, for example, a vibration output, a light show laser output, or a force-feedback output. These outputs are preferably correlated to the audio content in real time, but may be independent thereof.  
         [0063]    The second display size option is the medium size display, or mid-size mode. This display can be selected by clicking on the down arrow in the navigation buttons of the large display. The mid-state mode is shown in FIG. 18.  
         [0064]    In this mode, most of the hardware-like controls are available in the form of buttons or knobs located on the boundary of the unit. The display area is split into two regions—an upper region and a lower region. Preferably, these regions are circularly shaped. The upper region is surrounded by a series of small indicator lights, which perform the same function as the play list indicators in the large mode. The lower region is surrounded by a second series of indicator lights, which correspond, to the track progress indicator of the large mode. Track selection can be accomplished by clicking on the playlist progress indicator, and time selection may be accomplished by clicking on the track progress indicator, in a manner similar to the large display mode.  
         [0065]    Visual effects appear in the upper window, as do the navigation buttons. Although the equalizer settings and the amp and balance settings found in the audio enhancement control in the large mode are not present in this mode, the pitch control is provided as a rotary knob immediately left of the volume control. Operation of this rotary control is similar to the operation of the other rotary controls described above.  
         [0066]    When the mouse pointer is placed in the lower portion of the upper display region, a menu pops up which allows the user to scroll through the various visualization displays. The user selects the desired visualization display by clicking on the right arrow or the left arrow. When the user clicks on one of these arrows, the name of the newly selected waveform appears on the lower display, as shown in FIG. 19. Otherwise, the name of the track currently being played will appear on the lower display, along with the track number, followed by the time indicator, which indicates the time within the track being played.  
         [0067]    A third display mode is also available—the small-state mode. This can be selected by clicking on the down arrow navigator control from the mid-state mode or on the double down arrow navigator control from the large mode. In the small state mode, the unit appears as in FIG. 20. Here, the number on the left indicates the track, and the number on the right indicates the time within the track (or the time remaining in the track if the mouse button is clicked on the right hand field). The play list progress indicator is implemented in a tiny row of lights immediately above the track and time indicators. The track progress indicator is implemented in a tiny row of lights immediately below the track and time indicators.  
         [0068]    When the mouse pointer is placed over the small-state display, a control tray pops out from the player, as shown in FIG. 21. This control tray contains the navigation controls found in the other two display modes. To return to the mid-size mode, the user clicks on the up button. To return to the large display mode, the user clicks on the double-up arrow button. In the small display mode, the hardware control buttons are located on this pop-out control tray, on the left side. The small state buttons on the left of the pop-out tray provide the play, stop, pause, track forward, track back, and file functions that correspond to the similar functions in the large-display mode.  
         [0069]    Notably, the button tray slides out of the display as soon as the mouse pointer is placed over the display. No click of the mouse is required to pop the tray out.  
         [0070]    The button-tray configuration shown in FIG. 21 appears whenever the unit is located in the top half of the computer screen. If, on the other hand, the unit is located on the bottom half of the display screen, the button tray will pop out of the top of the unit as shown in FIG. 22. The functionality of the buttons on the button tray is identical no matter if the tray pops out of the bottom or the top of the unit. If the small-size display is dragged from the lower half of the screen to the upper half of the screen, the button tray will flip to its appropriate position when the equator of the screen is crossed.  
         [0071]    Normally, the bottom portion of the button tray contains an alphanumeric display which displays the name of the track currently being played. When the mouse pointer is placed over a button, the function of that button is temporarily displayed on this alphanumeric display. When the mouse pointer is placed over the play list progress indicator or track progress indicator, this alpha numeric display will display the name of the track corresponding to that position, or the time within the track, respectively. The user can jump to any desired track or any desired time within a track by clicking on the track progress indicator and/or the play list progress indicator in this mode as well.  
         [0072]    The various display modes can be selected using the up/down arrows on the navigation buttons as described above. Alternatively, the user can toggle through the display mode by double clicking on an inactive area of one of the displays (corresponding to the chassis of the unit). When the user double clicks on the large display mode, the display will shift to the small display mode. When the user double clicks on the small display mode, the display will shift to the mid-size display mode. Finally, when the user double-clicks on an inactive area on a mid-size display unit, the large display unit will appear.  
         [0073]    The up and down buttons are context sensitive. For example, when the skin setup mode is selected, the up and down arrow will toggle through the various available skins. When the visual mode is selected, the up and down buttons will toggle between the various available visual effects. Notably, the up and down buttons are always visible—they do not appear and disappear. In addition, their functionality is conserved between the various display modes. As a result, multiple sets of independent selectors for each perimeter are not needed, and the up and down buttons can be used for performing all selections.  
         [0074]    In addition, the functions of the navigation control buttons, the play/stop button, the pause button, and the track forward and back buttons operation are conserved between modes.  
         [0075]    By using the pop out button draw, the small-state modes uses a just-in-time philosophy, where the user is presented with options only when the user indicated that he wants to change an option. Unique features of this mode include the following: First, the draw pops out of the window, and is not a sub-window that pops out within a larger window. Second, the button draw will pop out of the small-state display even when the player is not the active window in a windows operating system computer. Third, the button tray includes control buttons—not a menu of text items. Fourth, the direction in which the tray pops depends on the position of the window on the screen. Fifth, the use of a pop-out button tray consumes less space than a text based pop down menu.  
         [0076]    Optionally, advertisement or commercial output may be output in sync, or alternatively not in sync, with the audio content being played.  
         [0077]    Optionally, in the audio control mode, the user can manipulate the equalization settings by clicking on the equalization curve itself displayed in the display window and dragging the curve. optionally, equalization presets can be used to compensate for the frequency response characteristics of output devices made by particular manufacturers. In this case, the hardware manufacturers would provide an equalization curve file. This file could then be selected by referencing the name of the manufacturers (e.g., by naming the file “Logitech USB speakers”).  
         [0078]    When the file information object in the visual mode display is clicked, the unit dynamically generates an HTML output. Optionally, it may also link to a web site by referencing either, a URL encoded in the audio source or by providing the title and artist of the song being played to a search engine, and capturing the output of the search engine. A graphic for the visual mode may also be downloaded from the Internet by referencing a search engine in a similar manner.  
         [0079]    The methods of implementing virtual hardware devices (e.g., virtual buttons and volume controls) using a mouse as a pointing device are well known.  
         [0080]    While the present invention has been explained in the context of the preferred embodiments described above, it is to be understood that various changes may be made to those embodiments, and various equivalents may be substituted, without departing from the spirit or scope of the invention, as will be apparent to persons skilled in the relevant art.