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); }
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(); }
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()); }
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()); }
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; }