[banshee] Don't include track# in filename patterns if empty



commit f6723f036281516625e10e38e55726bd2f71be1e
Author: Gabriel Burt <gabriel burt gmail com>
Date:   Fri Nov 5 12:07:28 2010 -0500

    Don't include track# in filename patterns if empty
    
    Change applies to Music library file name pattern and for Android
    devices.  Fixes bgo#634096

 .../Banshee.Library/LibrarySchema.cs               |    2 +-
 .../Banshee.Library/MusicFileNamePattern.cs        |    8 ++++----
 .../Banshee.Library/Tests/FileNamePatternTests.cs  |   12 ++++++++++++
 .../Banshee.Dap.MassStorage/AndroidDevice.cs       |    2 +-
 4 files changed, 18 insertions(+), 6 deletions(-)
---
diff --git a/src/Core/Banshee.Services/Banshee.Library/LibrarySchema.cs b/src/Core/Banshee.Services/Banshee.Library/LibrarySchema.cs
index 22b540a..687ce85 100644
--- a/src/Core/Banshee.Services/Banshee.Library/LibrarySchema.cs
+++ b/src/Core/Banshee.Services/Banshee.Library/LibrarySchema.cs
@@ -50,7 +50,7 @@ namespace Banshee.Configuration.Schema
 
         public static readonly SchemaEntry<string> FilePattern = new SchemaEntry<string>(
             "library", "file_pattern",
-            "%track_number%. %title%",
+            "{%track_number%. }%title%",
             "Library File Pattern",
             "Format for creating a track filename inside the library. Do not use path tokens/characters here. " +
                 "See LibraryFolderPattern. Legal tokens: %album_artist%, %track_artist%, %album%, %genre%, %title%, %track_number%, " +
diff --git a/src/Core/Banshee.Services/Banshee.Library/MusicFileNamePattern.cs b/src/Core/Banshee.Services/Banshee.Library/MusicFileNamePattern.cs
index b364000..3062367 100644
--- a/src/Core/Banshee.Services/Banshee.Library/MusicFileNamePattern.cs
+++ b/src/Core/Banshee.Services/Banshee.Library/MusicFileNamePattern.cs
@@ -49,7 +49,7 @@ namespace Banshee.Library
             SuggestedFolders = new string [] {
                 DefaultFolder,
                 "%album_artist%%path_sep%%album_artist% - %album%",
-                "%album_artist%%path_sep%%album% (%year%)",
+                "%album_artist%%path_sep%%album%{ (%year%)}",
                 "%album_artist% - %album%",
                 "%album%",
                 "%album_artist%"
@@ -57,10 +57,10 @@ namespace Banshee.Library
 
             SuggestedFiles   = new string [] {
                 DefaultFile,
-                "%track_number%. %track_artist% - %title%",
+                "{%track_number%. }%track_artist% - %title%",
                 "%track_artist% - %title%",
-                "%track_artist% - %track_number% - %title%",
-                "%track_artist% (%album%) - %track_number% - %title%",
+                "%track_artist% - {%track_number% - }%title%",
+                "%track_artist% (%album%) - {%track_number% - }%title%",
                 "%title%"
             };
 
diff --git a/src/Core/Banshee.Services/Banshee.Library/Tests/FileNamePatternTests.cs b/src/Core/Banshee.Services/Banshee.Library/Tests/FileNamePatternTests.cs
index 02ca142..d7cdf51 100644
--- a/src/Core/Banshee.Services/Banshee.Library/Tests/FileNamePatternTests.cs
+++ b/src/Core/Banshee.Services/Banshee.Library/Tests/FileNamePatternTests.cs
@@ -68,6 +68,18 @@ namespace Banshee.Library.Tests
         }
 
         [Test]
+        public void TestMusicFileNamePattern()
+        {
+            var pattern = new MusicFileNamePattern ();
+            var track = new SampleTrackInfo ();
+
+            Assert.AreEqual ("The Beatles/Help!/07. Ticket to Ride", pattern.CreateFromTrackInfo (pattern.DefaultPattern, track));
+
+            track.TrackNumber = 0;
+            Assert.AreEqual ("The Beatles/Help!/Ticket to Ride", pattern.CreateFromTrackInfo (pattern.DefaultPattern, track));
+        }
+
+        [Test]
         public void CreateFromTrackInfo()
         {
             SampleTrackInfo track = new SampleTrackInfo();
diff --git a/src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/AndroidDevice.cs b/src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/AndroidDevice.cs
index 155a9cd..356c84d 100644
--- a/src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/AndroidDevice.cs
+++ b/src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/AndroidDevice.cs
@@ -147,7 +147,7 @@ namespace Banshee.Dap.MassStorage
         public override bool GetTrackPath (TrackInfo track, out string path)
         {
             path = MusicLibrarySource.MusicFileNamePattern.CreateFromTrackInfo (
-                "%artist%%path_sep%%album%%path_sep%%track_number%. %title%",
+                "%artist%%path_sep%%album%%path_sep%{%track_number%. }%title%",
                 track);
             return true;
         }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]