1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278
|
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Masstagging Tutorial — puddletag</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
<meta name="apple-mobile-web-app-capable" content="yes">
<script type="text/javascript" src="../_static/js/jquery-1.11.0.min.js "></script>
<script type="text/javascript" src="../_static/js/jquery-fix.js "></script>
<script type="text/javascript" src="../_static/bootstrap-3.3.7/js/bootstrap.min.js "></script>
<script type="text/javascript" src="../_static/bootstrap-sphinx.js "></script>
</head><body>
<div id="navbar" class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html">puddletag</a>
</div>
<div class="collapse navbar-collapse nav-collapse">
<ul class="nav navbar-nav">
<li class="divider-vertical"></li>
<li><a href="../index.html">Home</a></li>
<li><a href="../download.html">Download</a></li>
<li><a href="../news.html">News</a></li>
<li><a href="../docs.html">Documentation</a></li>
<li><a href="https://github.com/puddletag/puddletag/issues">Issue Tracker</a></li>
<li><a href="../screenshots.html">Screenshots</a></li>
<li><a href="../about.html">About</a></li>
</ul>
<form class="navbar-form navbar-right" action="../search.html" method="get">
<div class="form-group">
<input type="text" name="q" class="form-control" placeholder="Search" />
</div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-3">
<div id="sidebar" class="bs-sidenav" role="complementary"><ul>
<li><a class="reference internal" href="#">Masstagging Tutorial</a><ul>
<li><a class="reference internal" href="#introduction">Introduction</a></li>
<li><a class="reference internal" href="#how-it-works">How it works</a></li>
<li><a class="reference internal" href="#how-to-use-it">How to use it</a></li>
<li><a class="reference internal" href="#configuring-profiles">Configuring Profiles</a><ul>
<li><a class="reference internal" href="#configuring-a-tag-source">Configuring a Tag Source</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<hr style='width:80%'>
</div>
</div>
<div class="body col-md-9 content" role="main">
<div class="section" id="masstagging-tutorial">
<h1>Masstagging Tutorial<a class="headerlink" href="#masstagging-tutorial" title="Permalink to this headline">¶</a></h1>
<p>If you haven’t got a handle on using <strong>Tag Sources</strong>, see the <a class="reference internal" href="tut4.html"><span class="doc">Tag Sources Tutorial</span></a>.</p>
<div class="section" id="introduction">
<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2>
<p>If you’re wanting to automatically tag multiple albums in unattended batch mode, then Masstagging may be just what you’re looking for. puddletag will take the files you selected, separate them into directories and sequentially process each directory.</p>
</div>
<div class="section" id="how-it-works">
<h2>How it works<a class="headerlink" href="#how-it-works" title="Permalink to this headline">¶</a></h2>
<ol class="arabic simple">
<li><p>First off, puddletag will separate the selected files into directories. Furthermore, if the <strong>album</strong> field differs between each files in a directory, they’ll be split again using files will be grouped according the <strong>album</strong> field.</p></li>
<li><p>A <a class="reference internal" href="function.html#filename-to-tag"><span class="std std-ref">File->Tag</span></a> operation will be applied to each file. Any fields that aren’t present in the file will be filled using those results.</p></li>
<li><dl class="simple">
<dt>For each group of files, the Tag Sources will be polled in the order listed in the current <strong>Masstagging Profile</strong>.</dt><dd><ol class="arabic simple">
<li><p>Each Tag Source listed will be polled and checked for a matching album within the bounds specified.</p></li>
<li><p>If a match wasn’t found for one Tag Source, but for another the Tag Source will be polled again using the data retrieved from the matching source.</p></li>
<li><p>Fields/Values from each tag source will be combined using your preferences.</p></li>
<li><p>When done and if matches were found, the metadata will be applied to the files and puddletag will be in <a class="reference internal" href="menus.html#preview-mode"><span class="std std-ref">Preview Mode</span></a></p></li>
</ol>
</dd>
</dl>
</li>
</ol>
</div>
<div class="section" id="how-to-use-it">
<h2>How to use it<a class="headerlink" href="#how-to-use-it" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><p>Select a profile from the <strong>Masstagging Window</strong>.</p></li>
<li><p>Select files.</p></li>
<li><p>Click on start.</p></li>
<li><p>Wait until it’s done.</p></li>
<li><p>Make modifications.</p></li>
<li><p>Write changes.</p></li>
</ul>
</div>
<div class="section" id="configuring-profiles">
<h2>Configuring Profiles<a class="headerlink" href="#configuring-profiles" title="Permalink to this headline">¶</a></h2>
<p>The best way to explain this I think is by creating a new Profile.</p>
<p>Click <strong>Configure Profiles</strong> on the <strong>Masstagging</strong> window to bring up the Profile configuration dialog.</p>
<img alt="Masstagging Profile choosing dialog." class="align-center" src="../_images/choose_profile.png" />
<p>Now add a new profile by clicking on the <strong>Add Profile (“+”)</strong> button. You should get this dialog.</p>
<img alt="Masstagging Profile Configuration dialog." class="align-center" src="../_images/configure_profile.png" />
<p>Inputs required are:</p>
<dl class="describe">
<dt>
<code class="sig-name descname">Name</code></dt>
<dd><p>The name of the profile.</p>
</dd></dl>
<dl class="describe">
<dt>
<code class="sig-name descname">Description</code></dt>
<dd><p>Any description you’d like. Will be shown as a tooltip for the</p>
</dd></dl>
<dl class="describe">
<dt>
<code class="sig-name descname">Tag Sources</code></dt>
<dd><p>Each tag source will be polled in the order listed here.</p>
<p>See <a class="reference internal" href="#masstag-tagsources"><span class="std std-ref">Configuring a Tag Source</span></a>.</p>
</dd></dl>
<dl class="describe">
<dt>
<code class="sig-name descname">Pattern to match filenames against.</code></dt>
<dd><p>A <a class="reference internal" href="function.html#filename-to-tag"><span class="std std-ref">File->Tag</span></a> operation will be performed on each file using the pattern defined here. Any fields found from this operation not aren’t already present in the file will be replaced.</p>
<p>Eg. For a with with path <em>/music/Bongo Maffin - Bongolution/02 - Way Kungakhona</em>, that has the tag, <strong>artist=Bongo Maffin, album=Bonglut, genre=Kwaito</strong>.</p>
<p>Using the pattern <strong>%artist - %album%/%track% - %title%</strong> will retrieve the following tag <strong>artist=Bongo Maffin, album=Bongolution, track=02, title=Way Kungakhona</strong>. The file doesn’t contain the <em>track</em> and <em>title</em> fields, so it’ll be updated with these fields.</p>
<p>The tag used to poll Tag Sources will then be <strong>artist=Bongo Maffin, album=Bonglut, genre=Kwaito, track=02, title=Way Kungokhona</strong>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>All these changes are kept in memory and nothing is written to the file.</p>
</div>
</dd></dl>
<span class="target" id="tag-source-auto-options"></span><dl class="describe">
<dt>
<code class="sig-name descname">Minimum percentage required for album matches.</code></dt>
<dd><p>An album will be considered a match if the percentage by which the <strong>album name</strong> and <strong>artist</strong> differ for the album is less than what’s specified here.</p>
</dd></dl>
<dl class="describe">
<dt>
<code class="sig-name descname">Match tracks using fields:</code></dt>
<dd><p>For a matching album, each retrieved track will be checked against the files. For each file, puddletag cycle through the list of retrieved tracks and do the following.</p>
<ul class="simple">
<li><p>Check if all the fields listed are present in the retrieved track.</p></li>
<li><p>If so, each field will be compared in the file vs each track and the field with the <strong>lowest</strong> match percentage will be used to assess the track match the file.</p></li>
</ul>
<p>puddletag will compare all retrieved tracks against the files and choose the one with the highest <strong>Matching Percentage</strong> as a match if and only if the <strong>Match Percentage</strong> is higher than</p>
</dd></dl>
<dl class="describe">
<dt>
<code class="sig-name descname">Minimum percentage required for track match.</code></dt>
<dd><p>If a track has a <strong>Match Percentage</strong> higher or equal to this when compared to a file, then that track will be considered a match.</p>
</dd></dl>
<dl class="describe">
<dt>
<code class="sig-name descname">Tag Sources</code></dt>
<dd><p>Check to enable brute force matching.</p>
<p>If no matches were found for some files, then the files will be sorted by <strong>track</strong> (if it’s not present, <strong>__filename</strong>). The retrieved data will also be sorted using <strong>track</strong>. Each retrieved track will then be paired with a file (in order) provided that file hasn’t been matched previously.</p>
</dd></dl>
<dl class="describe">
<dt>
<code class="sig-name descname">Brute force unmatched files.</code></dt>
<dd><p>If checked, only fields that don’t already have values will be updated with retrieved data.</p>
</dd></dl>
<div class="section" id="configuring-a-tag-source">
<span id="masstag-tagsources"></span><h3>Configuring a Tag Source<a class="headerlink" href="#configuring-a-tag-source" title="Permalink to this headline">¶</a></h3>
<p>Clicking on the <strong>Add Tag Source (“+”) button</strong> should bring up this dialog:</p>
<img alt="Masstagging Tag Source Configuration dialog." class="align-center" src="../_images/configure_tagsource.png" />
<dl class="describe">
<dt>
<code class="sig-name descname">Fields</code></dt>
<dd><p>The list of fields to retrieve from the tag source. Rules are as described in <a class="reference internal" href="tut4.html#deciding-what-to-retrieve"><span class="std std-ref">Deciding what to retrieve</span></a>.</p>
<p>Fields from different tag sources will be combined into multiple values where they differ. Eg. If one tag source retrieved <strong>genre=Rock</strong> and another <strong>genre=Alternative</strong>, the value that puddletag will write to the files will the values <strong>Rock\Alternative</strong>. Values will only be combined if they differ.</p>
<p>The way they’re combined depends on the position the tag source is listed. The tag source polled last takes precedence. Say you polled FreeDB first and Discogs second.</p>
<p>FreeDB returned <strong>artist=TKZee, title=Felakai, genre=Dance</strong>.</p>
<p>Discogs gave <strong>artist=TKZee, title=Felakai, genre=Kwaito\Rap</strong>.</p>
<p>Since Discogs was polled last it’s values will be listed first, giving the final tag.</p>
<p><strong>artist=TKZee, title=Felakai, genre=Kwaito\Rap\Dance</strong></p>
</dd></dl>
<dl class="describe">
<dt>
<code class="sig-name descname">Fields to replace</code></dt>
<dd><p>A comma-separated list of fields that takes precedence. Any listed here will replace any previous results retrieved. Eg. say you polled FreeDB, Discogs and MusicBrainz in order.</p>
<p>MusicBrainz has Field to replace set to <strong>artist</strong>.</p>
<p>FreeDB returned <strong>artist=TKZee, title=Felakai, genre=Dance</strong>.</p>
<p>Discogs gave <strong>artist=TKZee, title=Felakai, genre=Kwaito\Rap</strong>.</p>
<p>MusicBrainz: <strong>artist=TKZ, title=Felakai</strong></p>
<p>Instead of the <strong>artist</strong> field being combined in the final tag to <em>TKZ\TKZee</em>, only the value from MusicBrainz will be used. Giving as the final tag.</p>
<p><strong>artist=TKZ, title=Felakai, genre=Kwaito\Rap\Dance</strong></p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>If a later tag source replaces the same fields as any previous tag source, <strong>that</strong> tag source’s field will be used.</p>
</div>
</dd></dl>
<dl class="describe">
<dt>
<code class="sig-name descname">Source</code></dt>
<dd><p>The tag source to use. See <a class="reference internal" href="tagsources.html"><span class="doc">Using Tag Sources</span></a>.</p>
</dd></dl>
<dl class="describe">
<dt>
<code class="sig-name descname">If no results found:</code></dt>
<dd><p>If no matching album was found for this tag source, you can choose to either <strong>Continue</strong> with the other tag sources in the list or <strong>Stop</strong> the lookup and use any previously retrieved results.</p>
</dd></dl>
</div>
</div>
</div>
</div>
</div>
</div>
<footer class="footer">
<div class="container">
<p class="pull-right">
<a href="#">Back to top</a>
</p>
<p>
This page and associated images are licensed under <a rel="license" href="http://www.apache.org/licenses/LICENSE-2.0">Apache Version 2.0</a>
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 3.4.3.<br/>
</p>
</div>
</footer>
</body>
</html>
|