diff --git a/src/TaglibSharp.Tests/TaggingFormats/Id3V2Test.cs b/src/TaglibSharp.Tests/TaggingFormats/Id3V2Test.cs
index 6c6b2381..7e5383c9 100644
--- a/src/TaglibSharp.Tests/TaggingFormats/Id3V2Test.cs
+++ b/src/TaglibSharp.Tests/TaggingFormats/Id3V2Test.cs
@@ -1024,6 +1024,35 @@ public void TestPublisher ()
}
}
+
+ [Test]
+ public void TestEncodedBy ()
+ {
+ Tag tag = new Tag ();
+ for (byte version = 2; version <= 4; version++) {
+ tag.Version = version;
+
+ TagTestWithSave (ref tag, delegate (Tag t, string m) {
+ Assert.IsTrue (t.IsEmpty, "Initial (IsEmpty): " + m);
+ Assert.IsNull (t.EncodedBy, "Initial (Null): " + m);
+ });
+
+ tag.EncodedBy = val_sing;
+
+ TagTestWithSave (ref tag, delegate (Tag t, string m) {
+ Assert.IsFalse (t.IsEmpty, "Value Set (!IsEmpty): " + m);
+ Assert.AreEqual (val_sing, t.EncodedBy, "Value Set (!Null): " + m);
+ });
+
+ tag.EncodedBy = string.Empty;
+
+ TagTestWithSave (ref tag, delegate (Tag t, string m) {
+ Assert.IsTrue (t.IsEmpty, "Value Cleared (IsEmpty): " + m);
+ Assert.IsNull (t.EncodedBy, "Value Cleared (Null): " + m);
+ });
+ }
+ }
+
[Test]
public void TestISRC ()
{
diff --git a/src/TaglibSharp/Id3v2/FrameTypes.cs b/src/TaglibSharp/Id3v2/FrameTypes.cs
index e430af85..faa92030 100644
--- a/src/TaglibSharp/Id3v2/FrameTypes.cs
+++ b/src/TaglibSharp/Id3v2/FrameTypes.cs
@@ -101,6 +101,7 @@ static class FrameType
public static readonly ReadOnlyByteVector WPUB = "WPUB";
public static readonly ReadOnlyByteVector WXXX = "WXXX";
public static readonly ReadOnlyByteVector ETCO = "ETCO";
+ public static readonly ReadOnlyByteVector TENC = "TENC"; // Encoded By Frame.
public static readonly ReadOnlyByteVector MVNM = "MVNM"; // Movement Name
public static readonly ReadOnlyByteVector MVIN = "MVIN"; // Movement Number/Count
}
diff --git a/src/TaglibSharp/Id3v2/Tag.cs b/src/TaglibSharp/Id3v2/Tag.cs
index cd669dc0..22e31c09 100644
--- a/src/TaglibSharp/Id3v2/Tag.cs
+++ b/src/TaglibSharp/Id3v2/Tag.cs
@@ -2299,6 +2299,20 @@ public override string Publisher {
set { SetTextFrame (FrameType.TPUB, value); }
}
+ ///
+ /// Gets and sets the TENC (Encoded by) of the song.
+ ///
+ ///
+ /// A object containing the TENC of the song.
+ ///
+ ///
+ /// This property is implemented using the "TENC" field.
+ ///
+ public string EncodedBy {
+ get { return GetTextAsString (FrameType.TENC); }
+ set { SetTextFrame (FrameType.TENC, value); }
+ }
+
///
/// Gets and sets the ISRC (International Standard Recording Code) of the song.
///