Skip to content

Commit

Permalink
Lame needs to work on a local file
Browse files Browse the repository at this point in the history
Todo: what if it's not a jpg?
  • Loading branch information
LodewijkSioen committed Aug 31, 2014
1 parent 3c20acc commit 5c8702d
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions src/CdRipper/Encode/LameArgumentBuilder.cs
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
using System.Linq;
using System.Text;
using CdRipper.Tagging;
using System.Net;
using System.IO;

namespace CdRipper.Encode
{
public class LameArgumentBuilder
{
private readonly OutputLocation _fileName;
{
private readonly OutputLocation _outputLocation;
private readonly Mp3Settings _mp3Settings;
private readonly TrackIdentification _track;

public LameArgumentBuilder(EncoderSettings settings)
{
_track = settings.Track ?? AlbumIdentification.GetEmpty(1).Tracks.First();
_mp3Settings = settings.Mp3Settings ?? Mp3Settings.Default;
_fileName = settings.Output ?? OutputLocation.Default;
_outputLocation = settings.Output ?? OutputLocation.Default;
}

public override string ToString()
Expand All @@ -41,7 +43,16 @@ private StringBuilder BuildTagInformation(StringBuilder builder)
AddSwitch(builder, "--tl", _track.AlbumTitle);
AddSwitch(builder, "--ty", _track.Year);
AddExtraId3Tag(builder, "TPE2", _track.AlbumArtist); //http:https://stackoverflow.com/a/5958664/66842
AddSwitch(builder, "--ti", _track.AlbumArt.ToString());
if (_track.AlbumArt != null)
{
var folder = Path.GetDirectoryName(_outputLocation.CreateFileName(_track));
var coverFile = Path.Combine(folder, "cover.jpg");
using (var client = new WebClient())
{
client.DownloadFile(_track.AlbumArt, coverFile);
}
AddSwitch(builder, "--ti", coverFile);
}
AddTrackNumber(builder, _track);
return builder;
}
Expand All @@ -58,7 +69,7 @@ private StringBuilder BuildMp3Setting(StringBuilder builder)

private StringBuilder BuildEndArguments(StringBuilder builder)
{
var fileName = _fileName.CreateFileName(_track);
var fileName = _outputLocation.CreateFileName(_track);

builder.Append("- "); //input is stin
builder.AppendFormat("\"{0}\"", fileName);
Expand Down

0 comments on commit 5c8702d

Please sign in to comment.