Esempio n. 1
0
        protected bool SaveTrack(Models.Track track, XOUNDContext ctx)
        {
            Mp3FileReader reader = new Mp3FileReader(track.AudioFile.InputStream);

            track.DurationMinutes = reader.TotalTime.Minutes;
            track.DurationSeconds = reader.TotalTime.Seconds;

            ctx.Tracks.Add(track);
            ctx.SaveChanges();

            byte[] fileData = null;
            using (var binaryReader = new BinaryReader(track.AudioFile.InputStream))
            {
                fileData = binaryReader.ReadBytes(track.AudioFile.ContentLength);
            }

            Models.TrackFile file = new Models.TrackFile()
            {
                TrackID = track.ID,
                Track   = fileData
            };

            ctx.TrackFiles.Add(file);
            ctx.SaveChanges();

            return(true);
        }
Esempio n. 2
0
        public ActionResult Create(Album album)
        {
            XOUNDContext ctx = new XOUNDContext();

            Bitmap bmp = new Bitmap(1, 1);

            System.Net.WebRequest request =
            System.Net.WebRequest.Create(album.ArtworkImageURL);
            System.Net.WebResponse response = request.GetResponse();
            System.IO.Stream responseStream = response.GetResponseStream();
            Bitmap orig = new Bitmap(responseStream);

            using (Graphics g = Graphics.FromImage(bmp))
            {
                g.InterpolationMode = InterpolationMode.HighQualityBicubic;
                g.DrawImage(orig, new Rectangle(0, 0, 1, 1));
            }
            Color pixel = bmp.GetPixel(0, 0);
            string avg = System.Drawing.ColorTranslator.ToHtml(pixel);

            album.ArtworkDominantColor = avg;
            //Color backgroundColor = (Color)value;

            var blackContrast = LuminosityContrast(Color.Black, pixel);
            var whiteContrast = LuminosityContrast(Color.White, pixel);

            album.ArtworkContrastColor = blackContrast >= whiteContrast ? ColorTranslator.ToHtml(Color.Black) : ColorTranslator.ToHtml(Color.White);
            album.InsertDate = DateTime.Now;
            album.Active = true;

            ctx.Albums.Add(album);
            ctx.SaveChanges();

            return View();
        }
Esempio n. 3
0
        public ActionResult CreateByFiles(Album album, IEnumerable <HttpPostedFileBase> files)
        {
            album.TrackCount = files.Count();
            XOUNDContext ctx = new XOUNDContext();

            Bitmap bmp = new Bitmap(1, 1);

            System.Net.WebRequest request =
                System.Net.WebRequest.Create(album.ArtworkImageURL);
            System.Net.WebResponse response       = request.GetResponse();
            System.IO.Stream       responseStream = response.GetResponseStream();
            Bitmap orig = new Bitmap(responseStream);

            using (Graphics g = Graphics.FromImage(bmp))
            {
                g.InterpolationMode = InterpolationMode.HighQualityBicubic;
                g.DrawImage(orig, new Rectangle(0, 0, 1, 1));
            }
            Color  pixel = bmp.GetPixel(0, 0);
            string avg   = System.Drawing.ColorTranslator.ToHtml(pixel);

            album.ArtworkDominantColor = avg;
            //Color backgroundColor = (Color)value;

            var blackContrast = LuminosityContrast(Color.Black, pixel);
            var whiteContrast = LuminosityContrast(Color.White, pixel);

            album.ArtworkContrastColor = blackContrast >= whiteContrast?ColorTranslator.ToHtml(Color.Black) : ColorTranslator.ToHtml(Color.White);

            album.InsertDate = DateTime.Now;
            album.Active     = true;

            ctx.Albums.Add(album);
            ctx.SaveChanges();
            int ctr = 1;

            foreach (var file in files)
            {
                Track tr = new Track()
                {
                    Title     = file.FileName.Replace(".mp3", ""),
                    AudioFile = file,
                    TrackNo   = ctr,
                    AlbumID   = album.ID
                };
                SaveTrack(tr, ctx);
                ctr++;
            }

            return(View());
        }
Esempio n. 4
0
        public ActionResult Create(Album album)
        {
            XOUNDContext ctx = new XOUNDContext();

            Bitmap bmp = new Bitmap(1, 1);

            System.Net.WebRequest request =
                System.Net.WebRequest.Create(album.ArtworkImageURL);
            System.Net.WebResponse response       = request.GetResponse();
            System.IO.Stream       responseStream = response.GetResponseStream();
            Bitmap orig = new Bitmap(responseStream);

            using (Graphics g = Graphics.FromImage(bmp))
            {
                g.InterpolationMode = InterpolationMode.HighQualityBicubic;
                g.DrawImage(orig, new Rectangle(0, 0, 1, 1));
            }
            Color  pixel = bmp.GetPixel(0, 0);
            string avg   = System.Drawing.ColorTranslator.ToHtml(pixel);

            album.ArtworkDominantColor = avg;
            //Color backgroundColor = (Color)value;

            var blackContrast = LuminosityContrast(Color.Black, pixel);
            var whiteContrast = LuminosityContrast(Color.White, pixel);

            album.ArtworkContrastColor = blackContrast >= whiteContrast?ColorTranslator.ToHtml(Color.Black) : ColorTranslator.ToHtml(Color.White);

            album.InsertDate = DateTime.Now;
            album.Active     = true;

            ctx.Albums.Add(album);
            ctx.SaveChanges();

            return(View());
        }
Esempio n. 5
0
        protected bool SaveTrack(Models.Track track, XOUNDContext ctx)
        {
            Mp3FileReader reader = new Mp3FileReader(track.AudioFile.InputStream);

            track.DurationMinutes = reader.TotalTime.Minutes;
            track.DurationSeconds = reader.TotalTime.Seconds;

            ctx.Tracks.Add(track);
            ctx.SaveChanges();

            byte[] fileData = null;
            using (var binaryReader = new BinaryReader(track.AudioFile.InputStream))
            {
                fileData = binaryReader.ReadBytes(track.AudioFile.ContentLength);
            }

            Models.TrackFile file = new Models.TrackFile()
            {
                TrackID = track.ID,
                Track = fileData
            };

            ctx.TrackFiles.Add(file);
            ctx.SaveChanges();

            return true;
        }