The present invention relates to the field of processing digital media content. In particular, this invention relates to an improved system and method for editing metadata within digital media files to enhance user experience.
Due to recent advances in technology, computer users are now able to enjoy many features that provide an improved user experience, such as playing various media and multimedia content on their personal or laptop computers. For example, most computers today are able to play compact discs (CDs) so users can listen to their favorite musical artists while working on their computers. Additionally, many computers are equipped with digital versatile disc (DVD) drives enabling users to watch movies.
As users become more familiar with advanced features on their computers, such as those mentioned above, their expectations of the various additional innovative features will undoubtedly continue to grow. For example, consider a media player software application that enables a user to play a CD on his or her computer. Typical applications allow the user to display track information associated with the CD by clicking on an appropriate user interface (UI). Such track information is often referred to as Metadata.
Metadata for digital media such as a music file is general information pertaining to the media file itself. For example, a music file may have the song title, song artist, and album title for the work as metadata tags. Very commonly, files exist that don't have complete metadata in the file header. Frequently, users may want to fill in this missing data, or correct incorrect data or spelling errors. Traditionally, users would be required to edit these entries by hand through the use of an in-place editor or a tag-editing application or dialog. However, this approach can be laborious when the user must correct a large number of file headers.
Accordingly, this invention arose out of concerns for providing improved systems and methods for processing media content that provide an improved, rich, and robust user experience.
The invention meets the above needs and overcomes one or more deficiencies in the prior art by providing improved user experience when editing metadata associated with various media files. The invention provides a user interface that permits the user to efficiently edit the metadata of one or more media files by performing a drag and drop operation. The invention eliminates the need for a user to manually enter corrections, and/or make redundant corrections. Moreover, the features of the present invention described herein are less laborious and easier to implement than currently available techniques as well as being economically feasible and commercially practical.
In accordance with one aspect of the invention, a method is provided for modifying metadata of a media file in a media library. The media file includes a metadata field that includes property data. The property data defines a property of the media file. The method includes selecting a media file from a list of media files being displayed via a graphical user interface. The method further includes associating the selected media file with property category data within a property category, wherein the property category data defines a different property than the property of the media file. The method also includes modifying the metadata field of the selected media file to correspond to the different property defined by the property category data.
In accordance with another aspect of the invention, a method is provided for modifying metadata of one or more media files in a media library. The method includes selecting property category data within a property category being displayed via graphical user interface. The property category data defines a property of one or more media files. The method further includes associating the selected property category data with different property category data. The different property category data defines a different property than the property of the media file. The method further includes modifying the property data in the metadata field of the one or more media files having the property defined by the property category data to correspond to the different property defined by the different property category data.
In accordance with another aspect of the invention, a computer-readable medium includes computer executable instructions for modifying metadata of a media file in a media library. The media file includes a metadata field that includes property data, and the property data defines a property of the media file. Identifying instructions identify a media file from a list of media files being displayed via a graphical user interface. Associating instructions associate the identified media file with property category data within a property category. The property category data defines a different property than the property of the media file. Modifying instructions modify the metadata field of the identified media file to correspond to the different property defined by the property category data.
In accordance with yet another aspect of the invention, a computer-readable medium includes computer executable instructions for modifying metadata of one or more media files in a media library. Identifying instructions identify property category data within a property category being displayed via graphical user interface. The property category data defines a property of one or more media files to be modified. Associating instructions associate the identified property category data with different property category data. The different property category data defines a different property. Modifying instructions modify the property data in the metadata field of the one or more media files having the property defined by the property category data to correspond to the different property defined by the different property category data.
In accordance with yet another aspect of the invention, a computer system for modifying the metadata of a media file includes a graphical user interface having a display and a user interface selection device provides a method for providing and selecting from a list of media files on the display. The method includes selecting a media file from the list of media files being displayed by the user interface. The media file includes a metadata field defining a property of the media file. The method further includes associating the selected media file with property category data within a property category being displayed by the user interface. The property category data defines a different property than the property of the media file. The computer system is responsive to associating the selected media file with property category data to modify the metadata field of the selected media file to correspond to the different property defined by the property category data.
Alternatively, the invention may comprise various other methods and apparatuses.
Other features will be in part apparent and in part pointed out hereinafter.
Corresponding reference characters indicate corresponding parts throughout the drawings.
Referring now to the drawings,
In the examples herein, the media content of digital media file 106 refers to a single song track or a collection of tracks such as found on an audio CD. It is to be appreciated and understood that the media content can be embodied on any suitable media, including digital files downloaded to the client computer's memory, and that the specific examples described herein are given to further understanding of the inventive principles. The media content can include, without limitation, specially encoded media content in the form of, for example, an encoded media file 106 such as media content encoded in Microsoft® Windows Media™ format using the Microsoft® Windows Media™ Player program.
The resultant system 100 allows improved management of metadata to enhance user experience when editing a media file 106. More specifically, the present invention permits editing metadata by performing a drag and drop operation. As described in more detail below in reference to
Referring next to
Referring next to
Referring now to
Referring now to
In one embodiment, when track 402 is dropped onto property node 404, the media player application provides the user an option to change or supplement an existing property of track 402. Supplementing involves adding the property defined by the property node 404, on which the track is dropped, to the metadata of the selected track 402. Changing a property involves replacing an existing property of the selected track 402 to the property defined by the property node 404. For example, the screen shot shown in
In another embodiment, referring again to
In yet another embodiment, dropping a particualr track onto a particular property node not only changes a single property of the media file 402, but also requires changing and/or deleting additional properties. For example, dropping a media file 402 onto an album property node will not only change the existing album property of the media file 402, but multiple properties associated with the album property are copied, and some properties associated with the former album are deleted. Copied properties include those that relate directly to the particular album property, and deleted properties include those that identify a specific track. For example, although changing the album property of a media file 402 doesn't uniquely identify the track in the new album, it does identify the fact that track-specific properties referenced by the media file 402 (as belonging to the old album) are no longer valid, and, thus, should be deleted. In this case, the following properties are copied from the drop target (i.e., album property node) to the metadata of the drag source (i.e., media file): Collection ID, Collection Group ID, Album Title, Album Artist, Provider Style, Provider Rating, Buy URL, Large Album Art URL, Small Album Art URL, More Info URL, Provider Name, Provider URL, and Provider Logo URL. The following properties are deleted from the drag source: Unique File Identifiers, Release Time, and Content ID or Track ID.
Alternatively, a menu can provide the user the ability to select a track 402 to edit. For example, a context menu similar to the context menu shown in
Referring now to
In another embodiment, dropping a selected property node 404 onto a different property node 404 allows the user the option via a context or popup menu (see
In another embodiment, dropping a particular property node onto a different property node automatically replaces an existing property of all media files having the property defined by the particular property node with the property defined by the different property node. For example, when a selected artist property node is dropped onto a different artist property node, the media player application replaces the artist property of all tracks having the artist property defined by the selected artist property node with the different artist defined by the different artist property. As a further example, dropping a selected album property node onto an artist property node automatically replaces the artist property for all tracks on the specific album defined by the selected album property node with the artist property defined by the artist property node.
In yet another embodiment, dropping a selected property node onto a different property node automatically adds tracks having the property defined by the selected property node to tracks having the property defined by the defined property node. For instance, when a selected album property node is dropped onto a different album property node, the media player application adds all tracks of the album defined by the selected album property node (source album) to the album defined by the different property node (target album). For each track in the source album, additional properties such as described above in reference to
Alternatively, a menu can provide the user the ability to edit a property shared by a group of media files 402. For example, a context menu similar to the context menu 318 shown in
Referring now to
If the property node defines an album property, the media player application adds the selected media file to the album defined by the property node at 508. If the property node does not define an album property, the media application determines whether the property node defines a genre property at 510. At 512, if the property node defines a genre property, the user is provided an option to change or supplement existing property data within the selected media file. If the user elects to change existing category property data, the media player application replaces an existing property of the media file with the property defined by the property node at 514. If the user elects to supplement existing property data, the media player application adds the property defined by the property node to existing property data within the selected media file at 516. Alternatively, if the property node does not define a genre property, the media player application automatically replaces an existing property (e.g., album property or artist property) with the property defined by the property node at 518.
Referring now to
The computer 130 typically has at least some form of computer-readable media. Computer-readable media, which include both volatile and nonvolatile media, removable and non-removable media, may be any available medium that can be accessed by computer 130. By way of example and not limitation, computer-readable media comprise computer storage media and communication media. Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. For example, computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by computer 130. Communication media typically embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media. Those skilled in the art are familiar with the modulated data signal, which has one or more of its characteristics set or changed in such a manner as to encode information in the signal. Wired media, such as a wired network or direct-wired connection, and wireless media, such as acoustic, RF, infrared, and other wireless media, are examples of communication media. Combinations of the any of the above are also included within the scope of computer-readable media.
The system memory 134 includes computer storage media in the form of removable and/or non-removable, volatile and/or nonvolatile memory. In the illustrated embodiment, system memory 134 includes read only memory (ROM) 138 and random access memory (RAM) 140. A basic input/output system 142 (BIOS), containing the basic routines that help to transfer information between elements within computer 130, such as during start-up, is typically stored in ROM 138. RAM 140 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 132. By way of example, and not limitation,
The computer 130 may also include other removable/non-removable, volatile/nonvolatile computer storage media. For example,
The drives or other mass storage devices and their associated computer storage media discussed above and illustrated in
A user may enter commands and information into computer 130 through input devices or user interface selection devices such as a keyboard 180 and a pointing device 182 (e.g., a mouse, trackball, pen, or touch pad). Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are connected to processing unit 132 through a user input interface 184 that is coupled to system bus 136, but may be connected by other interface and bus structures, such as a parallel port, game port, or a Universal Serial Bus (USB). A monitor 188 or other type of display device is also connected to system bus 136 via an interface, such as a video interface 190. In addition to the monitor 188, computers often include other peripheral output devices (not shown) such as a printer and speakers, which may be connected through an output peripheral interface (not shown).
The computer 130 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 194. The remote computer 194 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer 130. The logical connections depicted in
When used in a local area networking environment, computer 130 is connected to the LAN 196 through a network interface or adapter 186. When used in a wide area networking environment, computer 130 typically includes a modem 178 or other means for establishing communications over the WAN 198, such as the Internet. The modem 178, which may be internal or external, is connected to system bus 136 via the user input interface 184, or other appropriate mechanism. In a networked environment, program modules depicted relative to computer 130, or portions thereof, may be stored in a remote memory storage device (not shown). By way of example, and not limitation,
Generally, the data processors of computer 130 are programmed by means of instructions stored at different times in the various computer-readable storage media of the computer. Programs and operating systems are typically distributed, for example, on floppy disks or CD-ROMs. From there, they are installed or loaded into the secondary memory of a computer. At execution, they are loaded at least partially into the computer's primary electronic memory. The invention described herein includes these and other various types of computer-readable storage media when such media contain instructions or programs for implementing the steps described below in conjunction with a microprocessor or other data processor. The invention also includes the computer itself when programmed according to the methods and techniques described herein.
For purposes of illustration, programs and other executable program components, such as the operating system, are illustrated herein as discrete blocks. It is recognized, however, that such programs and components reside at various times in different storage components of the computer, and are executed by the data processor(s) of the computer.
Although described in connection with an exemplary computing system environment, including computer 130, the invention is operational with numerous other general purpose or special purpose computing system environments or configurations. The computing system environment is not intended to suggest any limitation as to the scope of use or functionality of the invention. Moreover, the computing system environment should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The invention may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
In operation, computer 130 executes computer-executable instructions such as those illustrated in
When introducing elements of the present invention or the embodiment(s) thereof, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
In view of the above, it will be seen that the several objects of the invention are achieved and other advantageous results attained.
As various changes could be made in the constructions and methods without departing from the scope of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
Number | Name | Date | Kind |
---|---|---|---|
5410698 | Danneels et al. | Apr 1995 | A |
5793980 | Glaser et al. | Aug 1998 | A |
5821937 | Tonelli et al. | Oct 1998 | A |
5832495 | Gustman | Nov 1998 | A |
5848424 | Scheinkman et al. | Dec 1998 | A |
6014135 | Fernandes | Jan 2000 | A |
6230207 | Roberts et al. | May 2001 | B1 |
6407753 | Budinsky et al. | Jun 2002 | B1 |
6452609 | Katinsky et al. | Sep 2002 | B1 |
6463445 | Suzuki et al. | Oct 2002 | B1 |
6505160 | Levy et al. | Jan 2003 | B1 |
6760721 | Chasen et al. | Jul 2004 | B1 |
6829368 | Meyer et al. | Dec 2004 | B2 |
6973451 | Laronne et al. | Dec 2005 | B2 |
7047241 | Erickson | May 2006 | B1 |
7062502 | Kesler | Jun 2006 | B1 |
7149983 | Robertson et al. | Dec 2006 | B1 |
20010031066 | Meyer et al. | Oct 2001 | A1 |
20020001395 | Davis et al. | Jan 2002 | A1 |
20020033844 | Levy et al. | Mar 2002 | A1 |
20020055951 | Shigetomi et al. | May 2002 | A1 |
20020059370 | Shuster | May 2002 | A1 |
20020069218 | Sull et al. | Jun 2002 | A1 |
20020099737 | Porter et al. | Jul 2002 | A1 |
20020103920 | Berkun et al. | Aug 2002 | A1 |
20020143976 | Barker et al. | Oct 2002 | A1 |
20020157095 | Masumitsu et al. | Oct 2002 | A1 |
20020178276 | McCartney et al. | Nov 2002 | A1 |
20020184180 | Debique et al. | Dec 2002 | A1 |
20020193895 | Qian et al. | Dec 2002 | A1 |
20030009469 | Platt et al. | Jan 2003 | A1 |
20030036948 | Woodward et al. | Feb 2003 | A1 |
20030135513 | Quinn et al. | Jul 2003 | A1 |
20030174861 | Levy et al. | Sep 2003 | A1 |
20030236582 | Zamir et al. | Dec 2003 | A1 |
20040006575 | Visharam et al. | Jan 2004 | A1 |
20040017997 | Cowgill | Jan 2004 | A1 |
20040125144 | Yoon | Jul 2004 | A1 |
20040143590 | Wong et al. | Jul 2004 | A1 |
20040143598 | Drucker et al. | Jul 2004 | A1 |
20040143604 | Glenner et al. | Jul 2004 | A1 |
20040172593 | Wong et al. | Sep 2004 | A1 |
20040175159 | Oetzel et al. | Sep 2004 | A1 |
20040177319 | Horn | Sep 2004 | A1 |
20040267893 | Lowe et al. | Dec 2004 | A1 |
20050091268 | Meyer et al. | Apr 2005 | A1 |
20050234958 | Sipusic et al. | Oct 2005 | A1 |
20070192872 | Rhoads et al. | Aug 2007 | A1 |
Number | Date | Country |
---|---|---|
01189437 | Mar 2002 | EP |
Number | Date | Country | |
---|---|---|---|
20050010589 A1 | Jan 2005 | US |