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); }
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 CreateMulti(int id) { XOUNDContext ctx = new XOUNDContext(); var items = ctx.Albums.Where(x => x.ID == id).ToList().Select(x => new SelectListItem() { Text = x.Title, Value = x.ID.ToString() }); ViewBag.Albums = items; Session["albums"] = items; return View(); }
public ActionResult CreateMulti(int id) { XOUNDContext ctx = new XOUNDContext(); var items = ctx.Albums.Where(x => x.ID == id).ToList().Select(x => new SelectListItem() { Text = x.Title, Value = x.ID.ToString() }); ViewBag.Albums = items; Session["albums"] = items; return(View()); }
public ActionResult Index() { XOUNDContext ctx = new XOUNDContext(); AlbumViewModel avm = new AlbumViewModel(); avm.Albums = ctx.Albums.ToList(); foreach(Album album in avm.Albums) { album.Tracks = ctx.Tracks.Where(x => x.AlbumID == album.ID).ToList(); } return View(avm); }
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 Index() { XOUNDContext ctx = new XOUNDContext(); AlbumViewModel avm = new AlbumViewModel(); avm.Albums = ctx.Albums.OrderBy(x => x.Title).ToList(); foreach (Album album in avm.Albums) { album.Tracks = ctx.Tracks.Where(x => x.AlbumID == album.ID).ToList(); } return(View(avm)); }
public HttpResponseMessage GetAudioFile(int trackID) { XOUNDContext ctx = new XOUNDContext(); var track = ctx.TrackFiles.Where(x => x.TrackID == trackID).FirstOrDefault(); MemoryStream ms = new MemoryStream(track.Track); HttpResponseMessage Response = new HttpResponseMessage(); Response.Content = new StreamContent(ms); Response.Content.Headers.ContentType = new MediaTypeHeaderValue("audio/mp3"); Response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment"); Response.Content.Headers.ContentDisposition.FileName = "play.mp3"; return Response; }
public HttpResponseMessage GetAudioFile(int trackID) { XOUNDContext ctx = new XOUNDContext(); var track = ctx.TrackFiles.Where(x => x.TrackID == trackID).FirstOrDefault(); MemoryStream ms = new MemoryStream(track.Track); HttpResponseMessage Response = new HttpResponseMessage(); Response.Content = new StreamContent(ms); Response.Content.Headers.ContentType = new MediaTypeHeaderValue("audio/mp3"); Response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment"); Response.Content.Headers.ContentDisposition.FileName = "play.mp3"; return(Response); }
public ActionResult CreateMulti(int id, Models.MultiTrackViewModel multi) { XOUNDContext ctx = new XOUNDContext(); foreach(var tr in multi.Tracks.Where(x => x.Title != null)) { SaveTrack(tr, ctx); } var items = ctx.Albums.Where(x => x.ID == id).ToList().Select(x => new SelectListItem() { Text = x.Title, Value = x.ID.ToString() }); ViewBag.Albums = items; Session["albums"] = items; return View(); }
public ActionResult Create() { if (Session["albums"] != null) ViewBag.Albums = Session["albums"]; else { XOUNDContext ctx = new XOUNDContext(); var items = ctx.Albums.ToList().Select(x => new SelectListItem() { Text = x.Title, Value = x.ID.ToString() }); ViewBag.Albums = items; Session["albums"] = items; } return View(); }
public ActionResult CreateMulti(int id, Models.MultiTrackViewModel multi) { XOUNDContext ctx = new XOUNDContext(); foreach (var tr in multi.Tracks.Where(x => x.Title != null)) { SaveTrack(tr, ctx); } var items = ctx.Albums.Where(x => x.ID == id).ToList().Select(x => new SelectListItem() { Text = x.Title, Value = x.ID.ToString() }); ViewBag.Albums = items; Session["albums"] = items; return(View()); }
public ActionResult Create() { if (Session["albums"] != null) { ViewBag.Albums = Session["albums"]; } else { XOUNDContext ctx = new XOUNDContext(); var items = ctx.Albums.ToList().Select(x => new SelectListItem() { Text = x.Title, Value = x.ID.ToString() }); ViewBag.Albums = items; Session["albums"] = items; } 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()); }