using System.Collections.Generic;
using System.IO;
namespace MusicMetaTagger.UI
{
public interface IMusicLibraryInterface
{
///
/// Gets the track information from a library query.
///
/// The library query.
/// The callback.
///
List GetTrackQueries(LibraryQuery libraryQuery, IProgressCallback callback);
///
/// Updates the album art.
///
/// The track query.
/// The album art file info.
/// if set to true [overwrite].
/// True if update was successful, false otherwise
bool UpdateAlbumArt(TrackQueryStatus trackQuery, FileInfo albumArt, bool overwrite);
///
/// Updates the genre.
///
/// The track query.
/// The genre.
/// if set to true [overwrite].
/// True if update was successful, false otherwise
bool UpdateGenre(TrackQueryStatus trackQuery, string genre, bool overwrite);
///
/// Updates the year.
///
/// The track query.
/// The year.
/// if set to true [overwrite].
/// True if update was successful, false otherwise
bool UpdateYear(TrackQueryStatus trackQuery, int year, bool overwrite);
///
/// Updates the rating.
///
/// The track query.
/// The rating from 0 to 100.
/// if set to true overwrite existing value.
/// True if update was successful, false otherwise
bool UpdateRating(TrackQueryStatus trackQuery, int rating, bool overwrite);
bool AddComment(TrackQueryStatus trackQuery, string comment);
///
/// Returns true if the trackQuery represents an Mp3.
///
///
bool IsMp3(TrackQueryStatus trackQuery);
///
/// Returns the Mp3 represented by this trackQuery
///
///
///
FileInfo GetMp3FileInfo(TrackQueryStatus trackQuery);
}
}