Click here to Skip to main content
15,881,793 members
Articles / Desktop Programming / Windows Forms

BSEtunes

Rate me:
Please Sign up or sign in to vote.
4.67/5 (11 votes)
24 Apr 2010CPOL4 min read 64.4K   4.3K   58  
BSEtunes is a MySQL based, full manageable, networkable single or multiuser jukebox application
using System;
using BSE.Platten.Audio.WMFSDK;
using System.Diagnostics.CodeAnalysis;

namespace BSE.Platten.Audio
{
	/// <summary>
    /// A abstract class that provides the capability to set or get descriptive attributes that are stored
    /// in the header section of a audio file.
	/// </summary>
	public abstract class AudioData
	{
		#region MethodsPublic
		/// <summary>
        /// The GetMediaMetadata method gets a <see cref="BSE.Platten.Audio.AudioMetaData"/> object containing the attributes that are stored
        /// in the header section of a audio file.
		/// </summary>
        /// <param name="fileInfoFullName">The fully qualified path of the audio file.</param>
        /// <returns>A <see cref="BSE.Platten.Audio.AudioMetaData"/> object containing the stored attributes of a audio file.</returns>
        public abstract AudioMetadata GetMediaMetadata(string fileInfoFullName);
		/// <summary>
        /// The SetAttributeAuthor method sets the "Author" attribute that is stored in the header section of the audio file.
		/// </summary>
        /// <param name="fileInfoFullName">The fully qualified path of the audio file.</param>
		/// <param name="pwszAttribValue">The value that is stored in the "Author" attribute.</param>
        [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")]
        public abstract void SetAttributeAuthor(string fileInfoFullName,string pwszAttribValue);
		/// <summary>
        /// The SetAttributeAlbumTitle method sets the "WM/AlbumTitle" attribute that is stored in the header section of the audio file.
		/// </summary>
        /// <param name="fileInfoFullName">The fully qualified path of the audio file.</param>
        /// <param name="pwszAttribValue">The value that is stored in the "WM/AlbumTitle" attribute.</param>
        [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")]
        public abstract void SetAttributeAlbumTitle(string fileInfoFullName,string pwszAttribValue);
		/// <summary>
        /// The SetAttributeGenre method sets the "WM/Genre" attribute that is stored in the header section of the audio file.
		/// </summary>
        /// <param name="fileInfoFullName">The fully qualified path of the audio file.</param>
        /// <param name="pwszAttribValue">The value that is stored in the "WM/Genre" attribute.</param>
        [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")]
        public abstract void SetAttributeGenre(string fileInfoFullName,string pwszAttribValue);
		/// <summary>
        /// The SetAttributeYear method sets the "WM/Year" attribute that is stored in the header section of the audio file.
		/// </summary>
        /// <param name="fileInfoFullName">The fully qualified path of the audio file.</param>
        /// <param name="pwszAttribValue">The value that is stored in the "WM/Year" attribute.</param>
        [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")]
        public abstract void SetAttributeYear(string fileInfoFullName,string pwszAttribValue);
		/// <summary>
        /// The SetAttributeTrackNumber method sets the "WM/TrackNumber" attribute that is stored in the header section of the audio file.
		/// </summary>
        /// <param name="fileInfoFullName">The fully qualified path of the audio file.</param>
        /// <param name="pwszAttribValue">The value that is stored in the "WM/TrackNumber" attribute.</param>
        [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")]
        public abstract void SetAttributeTrackNumber(string fileInfoFullName,string pwszAttribValue);
		/// <summary>
        /// The SetAttributeTitle method sets the "Title" attribute that is stored in the header section of the audio file.
		/// </summary>
        /// <param name="fileInfoFullName">The fully qualified path of the audio file.</param>
        /// <param name="pwszAttribValue">The value that is stored in the "Title" attribute.</param>
        [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")]
        public abstract void SetAttributeTitle(string fileInfoFullName,string pwszAttribValue);
        /// <summary>
        /// The SetAttributePicture method sets the "WM/Picture" attribute that is stored in the header section of the audio file.
        /// </summary>
        /// <param name="fileInfoFullName">The fully qualified path of the audio file.</param>
        /// <param name="coverImage">The <see cref="System.Drawing.Image"/>value that is stored in the "WM/Picture" attribute.</param>
        [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")]
        public abstract void SetAttributePicture(string fileInfoFullName, System.Drawing.Image coverImage);
        /// <summary>
        /// The SetAttribute method sets a descriptive attribute that is stored in the header section of the audio file.
        /// </summary>
        /// <param name="fileInfoFullName">The fully qualified path of the audio file.</param>
        /// <param name="pwszAttribName">The name of the attribute.</param>
        /// <param name="attrDataType">A <see cref="WMT_ATTR_DATATYPE"/> enumeration type.</param>
        /// <param name="attribValue">An object containing the value of the attribute.</param>
        [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")]
        public abstract void SetAttribute(string fileInfoFullName, string pwszAttribName,
            WMT_ATTR_DATATYPE attrDataType, object attribValue);
		#endregion
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Switzerland Switzerland
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions