public void SetUp() { linkConnection = connectionFactory.Create(connectionString); linkConnection.Open(); linkRepository = new SQLiteLinkRepository(logger, linkConnection); linkRepository.Initialize(); tagConnection = connectionFactory.Create(connectionString); tagConnection.Open(); tagRepository = new SQLiteTagRepository(logger, tagTypeFactory, tagConnection); tagRepository.Initialize(); mediaConnection = connectionFactory.Create(connectionString); mediaConnection.Open(); mediaRepository = new SQLiteMediaRepository(logger, mediaFactory, mediaConnection); mediaRepository.Initialize(); itemConnection = connectionFactory.Create(connectionString); itemConnection.Open(); mediaItemRepository = new SQLiteMetadataRepository(logger, securityContext, mediaFactory, itemConnection); mediaItemRepository.Initialize(); audioStreamFactory = new AudioStreamFactory(); spider = new CatalogSpider(logger, securityContext, mediaFactory, linkRepository, tagRepository, mediaRepository, mediaItemRepository, audioStreamFactory); }
public SpiderFactory(ILogger logger, ISecurityContext securityContext, IMediaFactory mediaFactory, ILinkRepository linkRepository, ITagRepository tagRepository, IMediaRepository mediaRepository, IMetadataRepository mediaItemRepository, IAudioStreamFactory audioStreamFactory) { if (logger == null) throw new ArgumentNullException("logger"); if (securityContext == null) throw new ArgumentNullException("securityContext"); if (mediaFactory == null) throw new ArgumentNullException("mediaFactory"); if (linkRepository == null) throw new ArgumentNullException("linkRepository"); if (tagRepository == null) throw new ArgumentNullException("tagRepository"); if (mediaRepository == null) throw new ArgumentNullException("mediaRepository"); if (mediaItemRepository == null) throw new ArgumentNullException("mediaItemRepository"); this.logger = logger; this.securityContext = securityContext; this.securityContext = securityContext; this.mediaFactory = mediaFactory; this.linkRepository = linkRepository; this.tagRepository = tagRepository; this.mediaRepository = mediaRepository; this.mediaItemRepository = mediaItemRepository; this.audioStreamFactory = audioStreamFactory; }
public static void AddFactory(IAudioStreamFactory factory) { if (!factories.Contains(factory)) { factories.Add(factory); } }
public Player(IFileFinder fileFinder, IPlaylistReader playlistReader, IAudioStreamFactory audioStreamFactory, IBackgroundWorkerFactory backgroundWorkerFactory, IFileSystemFacade fileSystem) { this.fileFinder = fileFinder; this.playlistReader = playlistReader; this.backgroundWorkerFactory = backgroundWorkerFactory; this.audioStreamFactory = audioStreamFactory; this.fileSystem = fileSystem; history = new List<string>(); isStopped = true; isPlaying = false; isPaused = false; wasPausedBeforeBadSound = isPaused; loopType = LoopType.None; upto = 0; }
public AudioPlayer(IAudioStreamFactory audioStreamFactory) { this.audioStreamFactory = audioStreamFactory; }
public override void SetUp() { platform = DynamicMock<IPlatform>(); audioStreamFactory = new AudioStreamFactory(platform); }
public SpiderFactory(ILogger logger, ISecurityContext securityContext, IMediaFactory mediaFactory, ILinkRepository linkRepository, ITagRepository tagRepository, IMediaRepository mediaRepository, IMetadataRepository mediaItemRepository, IAudioStreamFactory audioStreamFactory) { if (logger == null) { throw new ArgumentNullException("logger"); } if (securityContext == null) { throw new ArgumentNullException("securityContext"); } if (mediaFactory == null) { throw new ArgumentNullException("mediaFactory"); } if (linkRepository == null) { throw new ArgumentNullException("linkRepository"); } if (tagRepository == null) { throw new ArgumentNullException("tagRepository"); } if (mediaRepository == null) { throw new ArgumentNullException("mediaRepository"); } if (mediaItemRepository == null) { throw new ArgumentNullException("mediaItemRepository"); } this.logger = logger; this.securityContext = securityContext; this.securityContext = securityContext; this.mediaFactory = mediaFactory; this.linkRepository = linkRepository; this.tagRepository = tagRepository; this.mediaRepository = mediaRepository; this.mediaItemRepository = mediaItemRepository; this.audioStreamFactory = audioStreamFactory; }
public override void SetUp() { fileFinder = CreateMock<IFileFinder>(); playlistReader = CreateMock<IPlaylistReader>(); audioStreamFactory = CreateMock<IAudioStreamFactory>(); backgroundWorkerFactory = CreateMock<IBackgroundWorkerFactory>(); fileSystem = DynamicMock<IFileSystemFacade>(); player = new Player(fileFinder, playlistReader, audioStreamFactory, backgroundWorkerFactory, fileSystem); }
public CatalogController(ILogger logger, ISecurityContext securityContext, IMediaFactory mediaFactory, IMediaRepository mediaRepository, ILinkRepository linkRepository, ITagRepository tagRepository, IMetadataRepository mediaItemRepository, IAudioStreamFactory audioStreamFactory) { this.logger = logger; spider = new CatalogSpider(logger, securityContext, mediaFactory, linkRepository, tagRepository, mediaRepository, mediaItemRepository, audioStreamFactory); }
public override ITrack GetTrack(ISecurityContext securityContext, IMediaFactory mediaFactory, IMetadataRepository mediaItemRepository, IAudioStreamFactory audioStreamFactory, IArtist artist, IAlbum album) { var track = mediaItemRepository.GetByTarget<ITrack>(Location).FirstOrDefault(); //if (track != null) //return track; if (id3v2Tag == null) { if (track != null) return track; var builder = new MediaItemBuilder<ITrack>(securityContext, mediaFactory) .Identity("Unknown", string.Empty) .Creator(artist.Location, artist.Name) .Catalog(album.Location, album.Name) .Target(Location, Type.Name); return builder.ToMediaItem(); } var name = id3v2Tag.Title != null ? id3v2Tag.Title : "Unknown Track"; var summary = id3v2Tag.Lyrics ?? string.Empty; var recordDate = DateTime.MinValue; if (id3v2Tag != null && id3v2Tag.RecordingDate > DateTime.MinValue) recordDate = id3v2Tag.RecordingDate; else if (id3v1Tag != null && id3v1Tag.Year >= DateTime.MinValue.Year && id3v1Tag.Year <= DateTime.MaxValue.Year) recordDate = new DateTime((int)id3v1Tag.Year, 1, 1); var releaseDate = DateTime.MinValue; if (id3v2Tag != null && id3v2Tag.ReleaseDate > DateTime.MinValue) releaseDate = id3v2Tag.ReleaseDate; else if (id3v1Tag != null && id3v1Tag.Year >= DateTime.MinValue.Year && id3v1Tag.Year <= DateTime.MaxValue.Year) releaseDate = new DateTime((int)id3v1Tag.Year, 1, 1); var number = id3v2Tag.Track; var duration = id3v2Tag.Duration; if (duration == TimeSpan.Zero) { using (var audioStream = audioStreamFactory.CreateAudioStream(Location)) { if (audioStream != null) { duration = audioStream.Duration; } } } var thumbnail = Guid.Empty.ToUrn(); var thumbnailData = id3v2Tag.Pictures != null && id3v2Tag.Pictures.Length > 0 ? id3v2Tag.Pictures[0].Data.ToArray() : new byte[0]; var trackId = track != null ? track.Location : Guid.NewGuid().ToUrn(); var fullBuilder = new MediaItemBuilder<ITrack>(securityContext, mediaFactory) .Identity(name, summary, recordDate, releaseDate, number, trackId) .Size(duration) .Creator(artist.Location, artist.Name) .Catalog(album.Location, album.Name) .Target(Location, Type.Name) .Thumbnail(thumbnail, thumbnailData); return fullBuilder.ToMediaItem(); }
public virtual ITrack GetTrack(ISecurityContext securityContext, IMediaFactory mediaFactory, IMetadataRepository mediaItemRepository, IAudioStreamFactory audioStreamFactory, IArtist artist, IAlbum album) { return null; }
public virtual ITrack GetTrack(ISecurityContext securityContext, IMediaFactory mediaFactory, IMetadataRepository mediaItemRepository, IAudioStreamFactory audioStreamFactory, IArtist artist, IAlbum album) { return(null); }
public override ITrack GetTrack(ISecurityContext securityContext, IMediaFactory mediaFactory, IMetadataRepository mediaItemRepository, IAudioStreamFactory audioStreamFactory, IArtist artist, IAlbum album) { var track = mediaItemRepository.GetByTarget <ITrack>(Location).FirstOrDefault(); //if (track != null) //return track; if (id3v2Tag == null) { if (track != null) { return(track); } var builder = new MediaItemBuilder <ITrack>(securityContext, mediaFactory) .Identity("Unknown", string.Empty) .Creator(artist.Location, artist.Name) .Catalog(album.Location, album.Name) .Target(Location, Type.Name); return(builder.ToMediaItem()); } var name = id3v2Tag.Title != null ? id3v2Tag.Title : "Unknown Track"; var summary = id3v2Tag.Lyrics ?? string.Empty; var recordDate = DateTime.MinValue; if (id3v2Tag != null && id3v2Tag.RecordingDate > DateTime.MinValue) { recordDate = id3v2Tag.RecordingDate; } else if (id3v1Tag != null && id3v1Tag.Year >= DateTime.MinValue.Year && id3v1Tag.Year <= DateTime.MaxValue.Year) { recordDate = new DateTime((int)id3v1Tag.Year, 1, 1); } var releaseDate = DateTime.MinValue; if (id3v2Tag != null && id3v2Tag.ReleaseDate > DateTime.MinValue) { releaseDate = id3v2Tag.ReleaseDate; } else if (id3v1Tag != null && id3v1Tag.Year >= DateTime.MinValue.Year && id3v1Tag.Year <= DateTime.MaxValue.Year) { releaseDate = new DateTime((int)id3v1Tag.Year, 1, 1); } var number = id3v2Tag.Track; var duration = id3v2Tag.Duration; if (duration == TimeSpan.Zero) { using (var audioStream = audioStreamFactory.CreateAudioStream(Location)) { if (audioStream != null) { duration = audioStream.Duration; } } } var thumbnail = Guid.Empty.ToUrn(); var thumbnailData = id3v2Tag.Pictures != null && id3v2Tag.Pictures.Length > 0 ? id3v2Tag.Pictures[0].Data.ToArray() : new byte[0]; var trackId = track != null ? track.Location : Guid.NewGuid().ToUrn(); var fullBuilder = new MediaItemBuilder <ITrack>(securityContext, mediaFactory) .Identity(name, summary, recordDate, releaseDate, number, trackId) .Size(duration) .Creator(artist.Location, artist.Name) .Catalog(album.Location, album.Name) .Target(Location, Type.Name) .Thumbnail(thumbnail, thumbnailData); return(fullBuilder.ToMediaItem()); }