public void StringTrackParserTester()
        {
            string test = @"Anthony Braxton - Six Compositions (Quartet) 1984";
            test = @"02 Bauer Houtkamp Reijsegger Bennink Tilburg 1984.10.25.flac";
            StringTrackParser stp = new StringTrackParser(test);
            Console.WriteLine("Original: {3} Match Dummy:{0}, Name {1}, TrackNumber {2}", stp.IsDummy, stp.TrackName, stp.TrackNumber, test);
            Assert.That(stp.IsDummy, Is.False);
            Assert.That(stp.TrackName, Is.EqualTo("Bauer Houtkamp Reijsegger Bennink Tilburg 1984.10.25"));
            Assert.That(stp.TrackNumber, Is.EqualTo(2));
      
            test = @"01-Primo.mp3";
            stp = new StringTrackParser(test);
            Console.WriteLine("Original: {3} Match Dummy:{0}, Name {1}, TrackNumber {2}", stp.IsDummy, stp.TrackName, stp.TrackNumber, test);
            Assert.That(stp.IsDummy, Is.False);
            Assert.That(stp.TrackName, Is.EqualTo("Primo"));
            Assert.That(stp.TrackNumber, Is.EqualTo(1));
   

            test = @"Track 02.flac";
            stp = new StringTrackParser(test);
            Console.WriteLine("Original: {3} Match Dummy:{0}, Name {1}, TrackNumber {2}", stp.IsDummy, stp.TrackName, stp.TrackNumber, test);
            Assert.That(stp.IsDummy, Is.True);
            Assert.That(stp.TrackNumber, Is.EqualTo(2));
   

            test = @"02.flac";
            stp = new StringTrackParser(test);
            Console.WriteLine("Original: {3} Match Dummy:{0}, Name {1}, TrackNumber {2}", stp.IsDummy, stp.TrackName, stp.TrackNumber, test);
            Assert.That(stp.IsDummy, Is.True);
            Assert.That(stp.TrackNumber, Is.EqualTo(2));

            test = "06 - songeene";
            stp = new StringTrackParser(test);
            Console.WriteLine("Original: {3} Match Dummy:{0}, Name {1}, TrackNumber {2}", stp.IsDummy, stp.TrackName, stp.TrackNumber, test);
            Assert.That(stp.IsDummy, Is.False);
            Assert.That(stp.FounSomething, Is.True);
            Assert.That(stp.TrackNumber, Is.EqualTo(6));
            Assert.That(stp.TrackName, Is.EqualTo("songeene"));


            test = "01.Krube. - Des Zunichtewerdens I";
            stp = new StringTrackParser(test,false);
            Console.WriteLine("Original: {3} Match Dummy:{0}, Name {1}, TrackNumber {2}", stp.IsDummy, stp.TrackName, stp.TrackNumber, test);
            Assert.That(stp.IsDummy, Is.False);
            Assert.That(stp.FounSomething, Is.True);
            Assert.That(stp.TrackNumber, Is.EqualTo(1));
            Assert.That(stp.TrackName, Is.EqualTo("Krube. - Des Zunichtewerdens I"));



            





        }
 private void DoRemoveTrackNumber(IModifiableTrack iModifiableTrack)
 {
     foreach (IModifiableTrack mt in GetTracks(iModifiableTrack))
     {
         StringTrackParser stp = new StringTrackParser(mt.Name, false);
         if (stp.FounSomething)
         {
             mt.Name = stp.TrackName;
             if ((mt.TrackNumber == 0) && (stp.TrackNumber != null))
                 mt.TrackNumber = (uint)stp.TrackNumber;
         }
     }
 }
 public void RemoveTrackNumber()
 {
     StringTrackParser stp = new StringTrackParser(Name, false);
     if (stp.FounSomething)
     {
         BeginEdit();
         Name = stp.TrackName;
         if ((TrackNumber == 0) && (stp.TrackNumber != null))
             TrackNumber = (uint)stp.TrackNumber;
         EndEdit();
     }
 }
        private void Init()
        {
            if (_IsInit)
                return;

            if (!System.IO.File.Exists(_Path))
                throw new Exception("Not Handled");

            _File = TagLib.File.Create(_Path);
            _TrackParser = new StringTrackParser(_Path);

            _IsInit = true;
        }