<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hydrogenaudio.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Synthetic+Soul</id>
	<title>Hydrogenaudio Knowledgebase - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hydrogenaudio.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Synthetic+Soul"/>
	<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Special:Contributions/Synthetic_Soul"/>
	<updated>2026-04-30T13:36:45Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=User:Synthetic_Soul&amp;diff=22527</id>
		<title>User:Synthetic Soul</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=User:Synthetic_Soul&amp;diff=22527"/>
		<updated>2011-04-19T13:08:50Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: /* Settings */ Added MP3Gain, 97dB Track Gain, used to boost podcast volume for iPod/crappy headphones.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Personal=&lt;br /&gt;
My name is Neil Popham.  I live in the city of Exeter in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
I am married to Lucy, and am the very proud father of Tilly, Romy, and Jasper.&lt;br /&gt;
&lt;br /&gt;
I am currently employed as a web developer, mainly working with PHP and PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
I first got involved with Hydrogen Audio after I decided to back up all my [[CD]]s.  I hung around the forums for a while, asked a few questions, and have been lingering ever since.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Methodologies=&lt;br /&gt;
&lt;br /&gt;
I am currently using [[WavPack]] images with accompanying cuesheets to archive my CDs.  Archives are stored on both [[DVD]] and a 300GB hardrive.  I also store [[PAR2]] parity data on the DVDs, which is created for each image individually.  I&#039;ve yet to see whether this is a good method.  I use [[EAC]] to rip the audio, in conjunction with [[REACT]].&lt;br /&gt;
&lt;br /&gt;
I get very little time to actually listen to my music!  The main opportunity I get is walking to and from work, listening on my iPod Nano.  I encode my music using [[LAME]] [[LAME#VBR_.28variable_bitrate.29_settings|-V5 --vbr-new]], and find the quality perfectly adequate.  Still, I was very glad to see that [http://www.hydrogenaudio.org/forums/index.php?showtopic=40607 the latest ~128kbps comparison] proved that many people found the setting (near) transparent.  Up until that time I had felt a little inadequate...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Contributions=&lt;br /&gt;
&lt;br /&gt;
My contributions have so far been quite minimal.  I try to make up for this by answering as many of the easy questions as I can, so that the real stars can spend their time discussing the meaty questions.  It also makes me look more knowledgeable than I am.&lt;br /&gt;
&lt;br /&gt;
==[[Tag_(tagger)|Tag]] and [[Wapet]]==&lt;br /&gt;
Before using [[WavPack]] I used [[Monkey&#039;s Audio]].  In order for me to be able to automate my archiving process I found it necessary to adapt Case&#039;s [[Tag_(tagger)|Tag]] so that I could set tags from the contents of a text file - namely a cuesheet.&lt;br /&gt;
&lt;br /&gt;
I&#039;d never programmed any C(++) before and found the whole episode both immensely frustrating and incredibly satisfying.&lt;br /&gt;
&lt;br /&gt;
I added the same functionality to Case&#039;s [[Wapet]], as I thought it may be useful in the future.&lt;br /&gt;
&lt;br /&gt;
There seemed little interest at the time, but both applications are now used by various other third party applications, such as [[FLACAttack]] and [[REACT]].&lt;br /&gt;
&lt;br /&gt;
==foo_cuesheetcreator==&lt;br /&gt;
foo_cuesheetcreator was originally created by Revision17 as a proof of concept.&lt;br /&gt;
&lt;br /&gt;
I had been looking for a component to create cuesheets from a playlist for a while, and was amazed that I had not see it before.  However there were some flaws with the component, e.g.: frames being calculated as 1/60th of a second rather than 1/75th and meta data tags being case sensitive, so I adapted it into a usable component.&lt;br /&gt;
&lt;br /&gt;
==Diskwriter With Cuesheet Support==&lt;br /&gt;
&lt;br /&gt;
I adapted [[Foobar2000]] 0.8.3&#039;s Diskwriter component so that as well as merging tracks into one single file you could also choose to create an accompanying cuesheet generated using the playlist information.&lt;br /&gt;
&lt;br /&gt;
Since 0.9 beta 6 the same functionality has been included in [[Foobar2000]] 0.9.  Of course Peter&#039;s implementation has more functionality, e.g.: the automatic embedding of the cuesheet in files that support it, and a similar facility using chapters in [[MP4]] files.&lt;br /&gt;
&lt;br /&gt;
==Moderation==&lt;br /&gt;
&lt;br /&gt;
In February 2006 I was offered the position of moderator, which I accepted.  It seemed only fair that I give something back to the community which had helped me so much, and generally offered such entertainment.  I think the offer was made mainly on the fact that I spent way too long hanging around the forum, and that I was in a useful time zone.  Now, there&#039;s qualifications for you. ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Settings=&lt;br /&gt;
&lt;br /&gt;
For your information, and my record. :-)&lt;br /&gt;
&lt;br /&gt;
===Converter and &#039;Move, Rename or Copy Files&#039;===&lt;br /&gt;
&lt;br /&gt;
 [%album artist%\][%album%\]$ifgreater(%totaldiscs%,1,Disc %discnumber%\,)[%tracknumber% - ]%title%[&#039; (&#039;%track artist%&#039;)&#039;]&lt;br /&gt;
&lt;br /&gt;
... or, allowing for multiple artists:&lt;br /&gt;
&lt;br /&gt;
 [$if($meta_test(album artist),$meta_sep(album artist,&#039;, &#039;,&#039; And &#039;),$meta_sep(artist,&#039;, &#039;,&#039; And &#039;))\][%album%\]$ifgreater(%totaldiscs%,1,Disc %discnumber%\,)[%tracknumber% - ]%title%[&#039; (&#039;$if($meta_test(album artist),$meta_sep(artist,&#039;, &#039;,&#039; And &#039;),)&#039;)&#039;]&lt;br /&gt;
&lt;br /&gt;
===ColumnsUI Album Column Display===&lt;br /&gt;
&lt;br /&gt;
 [%album%]&lt;br /&gt;
 [ &#039; (&#039;%album subtitle%&#039;)&#039;]&lt;br /&gt;
 [&#039; (&#039;%discname%&#039;)&#039;]&lt;br /&gt;
 $if($greater(%totaldiscs%,1),[&#039; (&#039;Disc %discnumber%&#039;)&#039;])&lt;br /&gt;
&lt;br /&gt;
===Run Service &amp;gt; Album Art===&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;C:\Program Files\AlbumArtDownloaderXUI\AlbumArt.exe&amp;quot; /artist &amp;quot;%artist%&amp;quot; /album &amp;quot;%album%&amp;quot; /path&lt;br /&gt;
 &amp;quot;$replace(%_path%,%_filename_ext%,)folder.jpg&amp;quot; /sources &amp;quot;GoogleImage,Album Art Exchange,Amazon (.com)&amp;quot;&lt;br /&gt;
 /minSize 450 /maxSize 650 /sort size-&lt;br /&gt;
&lt;br /&gt;
===Run Service &amp;gt; MP3Gain, 97dB Track Gain===&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;C:\Program Files\MP3Gain\mp3gain.exe&amp;quot; /r /d 8 /c /t /p /s s &amp;quot;%_path%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* My website : http://www.synthetic-soul.co.uk/&lt;br /&gt;
* Tag&lt;br /&gt;
** My version : http://www.synthetic-soul.co.uk/tag/&lt;br /&gt;
** Case&#039;s original : http://www.rarewares.org/others.html&lt;br /&gt;
* Wapet&lt;br /&gt;
** My version : http://www.synthetic-soul.co.uk/wapet/&lt;br /&gt;
** Case&#039;s original : http://www.rarewares.org/others.html&lt;br /&gt;
* foo_cuesheetcreator : http://www.hydrogenaudio.org/forums/index.php?showtopic=26276&lt;br /&gt;
* Diskwriter With Cuesheet Support : http://www.hydrogenaudio.org/forums/index.php?showtopic=35275&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=APEv1_specification&amp;diff=21794</id>
		<title>APEv1 specification</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=APEv1_specification&amp;diff=21794"/>
		<updated>2010-07-30T10:00:07Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Noted that APEv1 may not be used at the beginning of a file.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is how information is laid out in an [[APEv1]] tag:&lt;br /&gt;
&lt;br /&gt;
The only difference between APEv1 and [[APEv2]] is that APEv1 has no header. Therefore, it is strongly recommended that developers adopt v2 instead of v1 as standard tagging system for their formats.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
|width=&amp;quot;120px&amp;quot;| [[APE Tag Item]] 1 ||width=&amp;quot;80px&amp;quot;| 10.. bytes&lt;br /&gt;
|-&lt;br /&gt;
|[[APE Tag Item]] 2 || 10.. bytes&lt;br /&gt;
|-&lt;br /&gt;
|... || 10.. bytes&lt;br /&gt;
|-&lt;br /&gt;
|[[APE Tag Item]] n-1 || 10.. bytes&lt;br /&gt;
|-&lt;br /&gt;
|[[APE Tag Item]] n || 10.. bytes&lt;br /&gt;
|-&lt;br /&gt;
|[[APE Tags Header|APE Tags Footer]] || 32 bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
APE tag items should be sorted ascending by size. When streaming, parts of the APE tags can be dropped to reduce danger of drop outs between titles. This is not a &#039;&#039;must&#039;&#039;, but &#039;&#039;strongly&#039;&#039; recommended. Actually the items should be sorted by importance/byte, but this is not feasible. Only break this rule if you add less important small items and you don&#039;t want to rewrite the whole tag. An APEv1 tag at the end of a file must have at least a footer, APEv1 tags may never be used at the beginning of a file (unlike [[APEv2]] tags).&lt;br /&gt;
When located at the end of an [[MP3]] file, an APE tag should be placed after the the last frame, just before the [[ID3v1]] tag (if any).&lt;br /&gt;
&lt;br /&gt;
[[Category:Metadata]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=User:Synthetic_Soul&amp;diff=20139</id>
		<title>User:Synthetic Soul</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=User:Synthetic_Soul&amp;diff=20139"/>
		<updated>2010-01-06T14:15:51Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: /* Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Personal=&lt;br /&gt;
My name is Neil Popham.  I live in the city of Exeter in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
I am married to Lucy, and am the very proud father of Tilly, Romy, and Jasper.&lt;br /&gt;
&lt;br /&gt;
I am currently employed as a web developer, mainly working with PHP and PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
I first got involved with Hydrogen Audio after I decided to back up all my [[CD]]s.  I hung around the forums for a while, asked a few questions, and have been lingering ever since.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Methodologies=&lt;br /&gt;
&lt;br /&gt;
I am currently using [[WavPack]] images with accompanying cuesheets to archive my CDs.  Archives are stored on both [[DVD]] and a 300GB hardrive.  I also store [[PAR2]] parity data on the DVDs, which is created for each image individually.  I&#039;ve yet to see whether this is a good method.  I use [[EAC]] to rip the audio, in conjunction with [[REACT]].&lt;br /&gt;
&lt;br /&gt;
I get very little time to actually listen to my music!  The main opportunity I get is walking to and from work, listening on my iPod Nano.  I encode my music using [[LAME]] [[LAME#VBR_.28variable_bitrate.29_settings|-V5 --vbr-new]], and find the quality perfectly adequate.  Still, I was very glad to see that [http://www.hydrogenaudio.org/forums/index.php?showtopic=40607 the latest ~128kbps comparison] proved that many people found the setting (near) transparent.  Up until that time I had felt a little inadequate...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Contributions=&lt;br /&gt;
&lt;br /&gt;
My contributions have so far been quite minimal.  I try to make up for this by answering as many of the easy questions as I can, so that the real stars can spend their time discussing the meaty questions.  It also makes me look more knowledgeable than I am.&lt;br /&gt;
&lt;br /&gt;
==[[Tag_(tagger)|Tag]] and [[Wapet]]==&lt;br /&gt;
Before using [[WavPack]] I used [[Monkey&#039;s Audio]].  In order for me to be able to automate my archiving process I found it necessary to adapt Case&#039;s [[Tag_(tagger)|Tag]] so that I could set tags from the contents of a text file - namely a cuesheet.&lt;br /&gt;
&lt;br /&gt;
I&#039;d never programmed any C(++) before and found the whole episode both immensely frustrating and incredibly satisfying.&lt;br /&gt;
&lt;br /&gt;
I added the same functionality to Case&#039;s [[Wapet]], as I thought it may be useful in the future.&lt;br /&gt;
&lt;br /&gt;
There seemed little interest at the time, but both applications are now used by various other third party applications, such as [[FLACAttack]] and [[REACT]].&lt;br /&gt;
&lt;br /&gt;
==foo_cuesheetcreator==&lt;br /&gt;
foo_cuesheetcreator was originally created by Revision17 as a proof of concept.&lt;br /&gt;
&lt;br /&gt;
I had been looking for a component to create cuesheets from a playlist for a while, and was amazed that I had not see it before.  However there were some flaws with the component, e.g.: frames being calculated as 1/60th of a second rather than 1/75th and meta data tags being case sensitive, so I adapted it into a usable component.&lt;br /&gt;
&lt;br /&gt;
==Diskwriter With Cuesheet Support==&lt;br /&gt;
&lt;br /&gt;
I adapted [[Foobar2000]] 0.8.3&#039;s Diskwriter component so that as well as merging tracks into one single file you could also choose to create an accompanying cuesheet generated using the playlist information.&lt;br /&gt;
&lt;br /&gt;
Since 0.9 beta 6 the same functionality has been included in [[Foobar2000]] 0.9.  Of course Peter&#039;s implementation has more functionality, e.g.: the automatic embedding of the cuesheet in files that support it, and a similar facility using chapters in [[MP4]] files.&lt;br /&gt;
&lt;br /&gt;
==Moderation==&lt;br /&gt;
&lt;br /&gt;
In February 2006 I was offered the position of moderator, which I accepted.  It seemed only fair that I give something back to the community which had helped me so much, and generally offered such entertainment.  I think the offer was made mainly on the fact that I spent way too long hanging around the forum, and that I was in a useful time zone.  Now, there&#039;s qualifications for you. ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Settings=&lt;br /&gt;
&lt;br /&gt;
For your information, and my record. :-)&lt;br /&gt;
&lt;br /&gt;
===Converter and &#039;Move, Rename or Copy Files&#039;===&lt;br /&gt;
&lt;br /&gt;
 [%album artist%\][%album%\]$ifgreater(%totaldiscs%,1,Disc %discnumber%\,)[%tracknumber% - ]%title%[&#039; (&#039;%track artist%&#039;)&#039;]&lt;br /&gt;
&lt;br /&gt;
... or, allowing for multiple artists:&lt;br /&gt;
&lt;br /&gt;
 [$if($meta_test(album artist),$meta_sep(album artist,&#039;, &#039;,&#039; And &#039;),$meta_sep(artist,&#039;, &#039;,&#039; And &#039;))\][%album%\]$ifgreater(%totaldiscs%,1,Disc %discnumber%\,)[%tracknumber% - ]%title%[&#039; (&#039;$if($meta_test(album artist),$meta_sep(artist,&#039;, &#039;,&#039; And &#039;),)&#039;)&#039;]&lt;br /&gt;
&lt;br /&gt;
===ColumnsUI Album Column Display===&lt;br /&gt;
&lt;br /&gt;
 [%album%]&lt;br /&gt;
 [ &#039; (&#039;%album subtitle%&#039;)&#039;]&lt;br /&gt;
 [&#039; (&#039;%discname%&#039;)&#039;]&lt;br /&gt;
 $if($greater(%totaldiscs%,1),[&#039; (&#039;Disc %discnumber%&#039;)&#039;])&lt;br /&gt;
&lt;br /&gt;
===Run Service &amp;gt; Album Art===&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;C:\Program Files\AlbumArtDownloaderXUI\AlbumArt.exe&amp;quot; /artist &amp;quot;%artist%&amp;quot; /album &amp;quot;%album%&amp;quot; /path&lt;br /&gt;
 &amp;quot;$replace(%_path%,%_filename_ext%,)folder.jpg&amp;quot; /sources &amp;quot;GoogleImage,Album Art Exchange,Amazon (.com)&amp;quot;&lt;br /&gt;
 /minSize 450 /maxSize 650 /sort size-&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* My website : http://www.synthetic-soul.co.uk/&lt;br /&gt;
* Tag&lt;br /&gt;
** My version : http://www.synthetic-soul.co.uk/tag/&lt;br /&gt;
** Case&#039;s original : http://www.rarewares.org/others.html&lt;br /&gt;
* Wapet&lt;br /&gt;
** My version : http://www.synthetic-soul.co.uk/wapet/&lt;br /&gt;
** Case&#039;s original : http://www.rarewares.org/others.html&lt;br /&gt;
* foo_cuesheetcreator : http://www.hydrogenaudio.org/forums/index.php?showtopic=26276&lt;br /&gt;
* Diskwriter With Cuesheet Support : http://www.hydrogenaudio.org/forums/index.php?showtopic=35275&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=User:Synthetic_Soul&amp;diff=20073</id>
		<title>User:Synthetic Soul</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=User:Synthetic_Soul&amp;diff=20073"/>
		<updated>2009-12-03T16:21:07Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: /* Converter and &amp;#039;Move, Rename or Copy Files&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Personal=&lt;br /&gt;
My name is Neil Popham.  I live in the city of Exeter in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
I am married to Lucy, and am the very proud father of Tilly, Romy, and Jasper.&lt;br /&gt;
&lt;br /&gt;
I am currently employed as a web developer, mainly working with PHP and PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
I first got involved with Hydrogen Audio after I decided to back up all my [[CD]]s.  I hung around the forums for a while, asked a few questions, and have been lingering ever since.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Methodologies=&lt;br /&gt;
&lt;br /&gt;
I am currently using [[WavPack]] images with accompanying cuesheets to archive my CDs.  Archives are stored on both [[DVD]] and a 300GB hardrive.  I also store [[PAR2]] parity data on the DVDs, which is created for each image individually.  I&#039;ve yet to see whether this is a good method.  I use [[EAC]] to rip the audio, in conjunction with [[REACT]].&lt;br /&gt;
&lt;br /&gt;
I get very little time to actually listen to my music!  The main opportunity I get is walking to and from work, listening on my iPod Nano.  I encode my music using [[LAME]] [[LAME#VBR_.28variable_bitrate.29_settings|-V5 --vbr-new]], and find the quality perfectly adequate.  Still, I was very glad to see that [http://www.hydrogenaudio.org/forums/index.php?showtopic=40607 the latest ~128kbps comparison] proved that many people found the setting (near) transparent.  Up until that time I had felt a little inadequate...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Contributions=&lt;br /&gt;
&lt;br /&gt;
My contributions have so far been quite minimal.  I try to make up for this by answering as many of the easy questions as I can, so that the real stars can spend their time discussing the meaty questions.  It also makes me look more knowledgeable than I am.&lt;br /&gt;
&lt;br /&gt;
==[[Tag_(tagger)|Tag]] and [[Wapet]]==&lt;br /&gt;
Before using [[WavPack]] I used [[Monkey&#039;s Audio]].  In order for me to be able to automate my archiving process I found it necessary to adapt Case&#039;s [[Tag_(tagger)|Tag]] so that I could set tags from the contents of a text file - namely a cuesheet.&lt;br /&gt;
&lt;br /&gt;
I&#039;d never programmed any C(++) before and found the whole episode both immensely frustrating and incredibly satisfying.&lt;br /&gt;
&lt;br /&gt;
I added the same functionality to Case&#039;s [[Wapet]], as I thought it may be useful in the future.&lt;br /&gt;
&lt;br /&gt;
There seemed little interest at the time, but both applications are now used by various other third party applications, such as [[FLACAttack]] and [[REACT]].&lt;br /&gt;
&lt;br /&gt;
==foo_cuesheetcreator==&lt;br /&gt;
foo_cuesheetcreator was originally created by Revision17 as a proof of concept.&lt;br /&gt;
&lt;br /&gt;
I had been looking for a component to create cuesheets from a playlist for a while, and was amazed that I had not see it before.  However there were some flaws with the component, e.g.: frames being calculated as 1/60th of a second rather than 1/75th and meta data tags being case sensitive, so I adapted it into a usable component.&lt;br /&gt;
&lt;br /&gt;
==Diskwriter With Cuesheet Support==&lt;br /&gt;
&lt;br /&gt;
I adapted [[Foobar2000]] 0.8.3&#039;s Diskwriter component so that as well as merging tracks into one single file you could also choose to create an accompanying cuesheet generated using the playlist information.&lt;br /&gt;
&lt;br /&gt;
Since 0.9 beta 6 the same functionality has been included in [[Foobar2000]] 0.9.  Of course Peter&#039;s implementation has more functionality, e.g.: the automatic embedding of the cuesheet in files that support it, and a similar facility using chapters in [[MP4]] files.&lt;br /&gt;
&lt;br /&gt;
==Moderation==&lt;br /&gt;
&lt;br /&gt;
In February 2006 I was offered the position of moderator, which I accepted.  It seemed only fair that I give something back to the community which had helped me so much, and generally offered such entertainment.  I think the offer was made mainly on the fact that I spent way too long hanging around the forum, and that I was in a useful time zone.  Now, there&#039;s qualifications for you. ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Settings=&lt;br /&gt;
&lt;br /&gt;
For your information, and my record. :-)&lt;br /&gt;
&lt;br /&gt;
===Converter and &#039;Move, Rename or Copy Files&#039;===&lt;br /&gt;
&lt;br /&gt;
 [%album artist%\][%album%\]$ifgreater(%totaldiscs%,1,Disc %discnumber%\,)[%tracknumber% - ]%title%[&#039; (&#039;%track artist%&#039;)&#039;]&lt;br /&gt;
&lt;br /&gt;
===ColumnsUI Album Column Display===&lt;br /&gt;
&lt;br /&gt;
 [%album%]&lt;br /&gt;
 [ &#039; (&#039;%album subtitle%&#039;)&#039;]&lt;br /&gt;
 [&#039; (&#039;%discname%&#039;)&#039;]&lt;br /&gt;
 $if($greater(%totaldiscs%,1),[&#039; (&#039;Disc %discnumber%&#039;)&#039;])&lt;br /&gt;
&lt;br /&gt;
===Run Service &amp;gt; Album Art===&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;C:\Program Files\AlbumArtDownloaderXUI\AlbumArt.exe&amp;quot; /artist &amp;quot;%artist%&amp;quot; /album &amp;quot;%album%&amp;quot; /path&lt;br /&gt;
 &amp;quot;$replace(%_path%,%_filename_ext%,)folder.jpg&amp;quot; /sources &amp;quot;GoogleImage,Album Art Exchange,Amazon (.com)&amp;quot;&lt;br /&gt;
 /minSize 450 /maxSize 650 /sort size-&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* My website : http://www.synthetic-soul.co.uk/&lt;br /&gt;
* Tag&lt;br /&gt;
** My version : http://www.synthetic-soul.co.uk/tag/&lt;br /&gt;
** Case&#039;s original : http://www.rarewares.org/others.html&lt;br /&gt;
* Wapet&lt;br /&gt;
** My version : http://www.synthetic-soul.co.uk/wapet/&lt;br /&gt;
** Case&#039;s original : http://www.rarewares.org/others.html&lt;br /&gt;
* foo_cuesheetcreator : http://www.hydrogenaudio.org/forums/index.php?showtopic=26276&lt;br /&gt;
* Diskwriter With Cuesheet Support : http://www.hydrogenaudio.org/forums/index.php?showtopic=35275&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=User:Synthetic_Soul&amp;diff=19755</id>
		<title>User:Synthetic Soul</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=User:Synthetic_Soul&amp;diff=19755"/>
		<updated>2009-09-23T09:29:26Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Personal=&lt;br /&gt;
My name is Neil Popham.  I live in the city of Exeter in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
I am married to Lucy, and am the very proud father of Tilly, Romy, and Jasper.&lt;br /&gt;
&lt;br /&gt;
I am currently employed as a web developer, mainly working with PHP and PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
I first got involved with Hydrogen Audio after I decided to back up all my [[CD]]s.  I hung around the forums for a while, asked a few questions, and have been lingering ever since.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Methodologies=&lt;br /&gt;
&lt;br /&gt;
I am currently using [[WavPack]] images with accompanying cuesheets to archive my CDs.  Archives are stored on both [[DVD]] and a 300GB hardrive.  I also store [[PAR2]] parity data on the DVDs, which is created for each image individually.  I&#039;ve yet to see whether this is a good method.  I use [[EAC]] to rip the audio, in conjunction with [[REACT]].&lt;br /&gt;
&lt;br /&gt;
I get very little time to actually listen to my music!  The main opportunity I get is walking to and from work, listening on my iPod Nano.  I encode my music using [[LAME]] [[LAME#VBR_.28variable_bitrate.29_settings|-V5 --vbr-new]], and find the quality perfectly adequate.  Still, I was very glad to see that [http://www.hydrogenaudio.org/forums/index.php?showtopic=40607 the latest ~128kbps comparison] proved that many people found the setting (near) transparent.  Up until that time I had felt a little inadequate...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Contributions=&lt;br /&gt;
&lt;br /&gt;
My contributions have so far been quite minimal.  I try to make up for this by answering as many of the easy questions as I can, so that the real stars can spend their time discussing the meaty questions.  It also makes me look more knowledgeable than I am.&lt;br /&gt;
&lt;br /&gt;
==[[Tag_(tagger)|Tag]] and [[Wapet]]==&lt;br /&gt;
Before using [[WavPack]] I used [[Monkey&#039;s Audio]].  In order for me to be able to automate my archiving process I found it necessary to adapt Case&#039;s [[Tag_(tagger)|Tag]] so that I could set tags from the contents of a text file - namely a cuesheet.&lt;br /&gt;
&lt;br /&gt;
I&#039;d never programmed any C(++) before and found the whole episode both immensely frustrating and incredibly satisfying.&lt;br /&gt;
&lt;br /&gt;
I added the same functionality to Case&#039;s [[Wapet]], as I thought it may be useful in the future.&lt;br /&gt;
&lt;br /&gt;
There seemed little interest at the time, but both applications are now used by various other third party applications, such as [[FLACAttack]] and [[REACT]].&lt;br /&gt;
&lt;br /&gt;
==foo_cuesheetcreator==&lt;br /&gt;
foo_cuesheetcreator was originally created by Revision17 as a proof of concept.&lt;br /&gt;
&lt;br /&gt;
I had been looking for a component to create cuesheets from a playlist for a while, and was amazed that I had not see it before.  However there were some flaws with the component, e.g.: frames being calculated as 1/60th of a second rather than 1/75th and meta data tags being case sensitive, so I adapted it into a usable component.&lt;br /&gt;
&lt;br /&gt;
==Diskwriter With Cuesheet Support==&lt;br /&gt;
&lt;br /&gt;
I adapted [[Foobar2000]] 0.8.3&#039;s Diskwriter component so that as well as merging tracks into one single file you could also choose to create an accompanying cuesheet generated using the playlist information.&lt;br /&gt;
&lt;br /&gt;
Since 0.9 beta 6 the same functionality has been included in [[Foobar2000]] 0.9.  Of course Peter&#039;s implementation has more functionality, e.g.: the automatic embedding of the cuesheet in files that support it, and a similar facility using chapters in [[MP4]] files.&lt;br /&gt;
&lt;br /&gt;
==Moderation==&lt;br /&gt;
&lt;br /&gt;
In February 2006 I was offered the position of moderator, which I accepted.  It seemed only fair that I give something back to the community which had helped me so much, and generally offered such entertainment.  I think the offer was made mainly on the fact that I spent way too long hanging around the forum, and that I was in a useful time zone.  Now, there&#039;s qualifications for you. ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Settings=&lt;br /&gt;
&lt;br /&gt;
For your information, and my record. :-)&lt;br /&gt;
&lt;br /&gt;
===Converter and &#039;Move, Rename or Copy Files&#039;===&lt;br /&gt;
&lt;br /&gt;
 [%album artist%\][%album%\][Disc %discnumber%\][%tracknumber% - ]%title%$if($meta(album artist),&#039; (&#039;$meta(artist)&#039;)&#039;,) &lt;br /&gt;
&lt;br /&gt;
===ColumnsUI Album Column Display===&lt;br /&gt;
&lt;br /&gt;
 [%album%]&lt;br /&gt;
 [ &#039; (&#039;%album subtitle%&#039;)&#039;]&lt;br /&gt;
 [&#039; (&#039;%discname%&#039;)&#039;]&lt;br /&gt;
 $if($greater(%totaldiscs%,1),[&#039; (&#039;Disc %discnumber%&#039;)&#039;])&lt;br /&gt;
&lt;br /&gt;
===Run Service &amp;gt; Album Art===&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;C:\Program Files\AlbumArtDownloaderXUI\AlbumArt.exe&amp;quot; /artist &amp;quot;%artist%&amp;quot; /album &amp;quot;%album%&amp;quot; /path&lt;br /&gt;
 &amp;quot;$replace(%_path%,%_filename_ext%,)folder.jpg&amp;quot; /sources &amp;quot;GoogleImage,Album Art Exchange,Amazon (.com)&amp;quot;&lt;br /&gt;
 /minSize 450 /maxSize 650 /sort size-&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* My website : http://www.synthetic-soul.co.uk/&lt;br /&gt;
* Tag&lt;br /&gt;
** My version : http://www.synthetic-soul.co.uk/tag/&lt;br /&gt;
** Case&#039;s original : http://www.rarewares.org/others.html&lt;br /&gt;
* Wapet&lt;br /&gt;
** My version : http://www.synthetic-soul.co.uk/wapet/&lt;br /&gt;
** Case&#039;s original : http://www.rarewares.org/others.html&lt;br /&gt;
* foo_cuesheetcreator : http://www.hydrogenaudio.org/forums/index.php?showtopic=26276&lt;br /&gt;
* Diskwriter With Cuesheet Support : http://www.hydrogenaudio.org/forums/index.php?showtopic=35275&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=User:Synthetic_Soul&amp;diff=19474</id>
		<title>User:Synthetic Soul</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=User:Synthetic_Soul&amp;diff=19474"/>
		<updated>2009-03-03T08:23:10Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: /* Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Personal=&lt;br /&gt;
My name is Neil Popham.  I live in the city of Exeter in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
I am married to Lucy, and am the very proud father of Tilly, Romy, and Jasper.&lt;br /&gt;
&lt;br /&gt;
I am currently employed as a web developer, mainly working with PHP and PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
I first got involved with Hydrogen Audio after I decided to back up all my [[CD]]s.  I hung around the forums for a while, asked a few questions, and have been lingering ever since.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Methodologies=&lt;br /&gt;
&lt;br /&gt;
I am currently using [[WavPack]] images with accompanying cuesheets to archive my CDs.  Archives are stored on both [[DVD]] and a 300GB hardrive.  I also store [[PAR2]] parity data on the DVDs, which is created for each image individually.  I&#039;ve yet to see whether this is a good method.  I use [[EAC]] to rip the audio, in conjunction with [[REACT]].&lt;br /&gt;
&lt;br /&gt;
I get very little time to actually listen to my music!  The main opportunity I get is walking to and from work, listening on my Creative Zen Nano Plus.  I encode my music using [[LAME]] [[LAME#VBR_.28variable_bitrate.29_settings|-V5 --vbr-new]], and find the quality perfectly adequate.  Still, I was very glad to see that [http://www.hydrogenaudio.org/forums/index.php?showtopic=40607 the latest ~128kbps comparison] proved that many people found the setting (near) transparent.  Up until that time I had felt a little inadequate...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Contributions=&lt;br /&gt;
&lt;br /&gt;
My contributions have so far been quite minimal.  I try to make up for this by answering as many of the easy questions as I can, so that the real stars can spend their time discussing the meaty questions.  It also makes me look more knowledgeable than I am.&lt;br /&gt;
&lt;br /&gt;
==[[Tag_(tagger)|Tag]] and [[Wapet]]==&lt;br /&gt;
Before using [[WavPack]] I used [[Monkey&#039;s Audio]].  In order for me to be able to automate my archiving process I found it necessary to adapt Case&#039;s [[Tag_(tagger)|Tag]] so that I could set tags from the contents of a text file - namely a cuesheet.&lt;br /&gt;
&lt;br /&gt;
I&#039;d never programmed any C(++) before and found the whole episode both immensely frustrating and incredibly satisfying.&lt;br /&gt;
&lt;br /&gt;
I added the same functionality to Case&#039;s [[Wapet]], as I thought it may be useful in the future.&lt;br /&gt;
&lt;br /&gt;
There seemed little interest at the time, but both applications are now used by various other third party applications, such as [[FLACAttack]] and [[REACT]].&lt;br /&gt;
&lt;br /&gt;
==foo_cuesheetcreator==&lt;br /&gt;
foo_cuesheetcreator was originally created by Revision17 as a proof of concept.&lt;br /&gt;
&lt;br /&gt;
I had been looking for a component to create cuesheets from a playlist for a while, and was amazed that I had not see it before.  However there were some flaws with the component, e.g.: frames being calculated as 1/60th of a second rather than 1/75th and meta data tags being case sensitive, so I adapted it into a usable component.&lt;br /&gt;
&lt;br /&gt;
==Diskwriter With Cuesheet Support==&lt;br /&gt;
&lt;br /&gt;
I adapted [[Foobar2000]] 0.8.3&#039;s Diskwriter component so that as well as merging tracks into one single file you could also choose to create an accompanying cuesheet generated using the playlist information.&lt;br /&gt;
&lt;br /&gt;
Since 0.9 beta 6 the same functionality has been included in [[Foobar2000]] 0.9.  Of course Peter&#039;s implementation has more functionality, e.g.: the automatic embedding of the cuesheet in files that support it, and a similar facility using chapters in [[MP4]] files.&lt;br /&gt;
&lt;br /&gt;
==Moderation==&lt;br /&gt;
&lt;br /&gt;
In February 2006 I was offered the position of moderator, which I accepted.  It seemed only fair that I give something back to the community which had helped me so much, and generally offered such entertainment.  I think the offer was made mainly on the fact that I spent way too long hanging around the forum, and that I was in a useful time zone.  Now, there&#039;s qualifications for you. ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Settings=&lt;br /&gt;
&lt;br /&gt;
For your information, and my record. :-)&lt;br /&gt;
&lt;br /&gt;
===Converter and &#039;Move, Rename or Copy Files&#039;===&lt;br /&gt;
&lt;br /&gt;
 [%album artist%\][%album%\][Disc %discnumber%\][%tracknumber% - ]%title%$if($meta(album artist),&#039; (&#039;$meta(artist)&#039;)&#039;,) &lt;br /&gt;
&lt;br /&gt;
===ColumnsUI Album Column Display===&lt;br /&gt;
&lt;br /&gt;
 [%album%]&lt;br /&gt;
 [ &#039; (&#039;%album subtitle%&#039;)&#039;]&lt;br /&gt;
 [&#039; (&#039;%discname%&#039;)&#039;]&lt;br /&gt;
 $if($greater(%totaldiscs%,1),[&#039; (&#039;Disc %discnumber%&#039;)&#039;])&lt;br /&gt;
&lt;br /&gt;
===Run Service &amp;gt; Album Art===&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;C:\Program Files\AlbumArtDownloaderXUI\AlbumArt.exe&amp;quot; /artist &amp;quot;%artist%&amp;quot; /album &amp;quot;%album%&amp;quot; /path&lt;br /&gt;
 &amp;quot;$replace(%_path%,%_filename_ext%,)folder.jpg&amp;quot; /sources &amp;quot;GoogleImage,Album Art Exchange,Amazon (.com)&amp;quot;&lt;br /&gt;
 /minSize 450 /maxSize 650 /sort size-&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* My website : http://www.synthetic-soul.co.uk/&lt;br /&gt;
* Tag&lt;br /&gt;
** My version : http://www.synthetic-soul.co.uk/tag/&lt;br /&gt;
** Case&#039;s original : http://www.rarewares.org/others.html&lt;br /&gt;
* Wapet&lt;br /&gt;
** My version : http://www.synthetic-soul.co.uk/wapet/&lt;br /&gt;
** Case&#039;s original : http://www.rarewares.org/others.html&lt;br /&gt;
* foo_cuesheetcreator : http://www.hydrogenaudio.org/forums/index.php?showtopic=26276&lt;br /&gt;
* Diskwriter With Cuesheet Support : http://www.hydrogenaudio.org/forums/index.php?showtopic=35275&lt;br /&gt;
* Batch file for re-encoding FLAC files to a newer version : http://www.synthetic-soul.co.uk/files/flac-113.bat ([http://www.synthetic-soul.co.uk/files/flac-113.txt readme])&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=EAC_and_LossyWAV&amp;diff=19213</id>
		<title>EAC and LossyWAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=EAC_and_LossyWAV&amp;diff=19213"/>
		<updated>2008-10-06T10:00:02Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software Needed =&lt;br /&gt;
* [http://www.exactaudiocopy.de/en/index.php/resources/download/ Exact Audio Copy]&lt;br /&gt;
* [[LossyWAV]]&lt;br /&gt;
* Either:&lt;br /&gt;
** [[FLAC]]&lt;br /&gt;
** [[TAK]]&lt;br /&gt;
** [[WavPack]]&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This guide assumes that [[EAC]] is has been configured for secure ripping, if not please follow [[EAC_Drive_Configuration | this]] guide.&lt;br /&gt;
* Extract lossywav.exe and your chosen encoder to a folder, or folders, of your choosing.&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
* Open EAC and insert a CD into the drive.&lt;br /&gt;
* Click the &#039;&#039;&#039;EAC&#039;&#039;&#039; menu and select &#039;&#039;&#039;Compression Options&#039;&#039;&#039;.&lt;br /&gt;
* Click the &#039;&#039;&#039;External Compression&#039;&#039;&#039; Tab, and check &#039;&#039;&#039;Use external program for compression&#039;&#039;&#039;.&lt;br /&gt;
* Change &#039;&#039;&#039;Parameter Passing Scheme&#039;&#039;&#039; to &#039;&#039;&#039;User Defined Encoder&#039;&#039;&#039;.&lt;br /&gt;
* Change &#039;&#039;&#039;Use file extension&#039;&#039;&#039; to &#039;&#039;&#039;.flac&#039;&#039;&#039;, &#039;&#039;&#039;.tak&#039;&#039;&#039;, or &#039;&#039;&#039;.wv&#039;&#039;&#039;, depending on your encoder of choice.&lt;br /&gt;
* Click the &#039;&#039;&#039;Browse&#039;&#039;&#039; button and locate &#039;&#039;&#039;cmd.exe&#039;&#039;&#039;. In Windows XP it can be found in &#039;&#039;&#039;C:\WINDOWS\system32&#039;&#039;&#039;.&lt;br /&gt;
* Ensure &#039;&#039;&#039;Use CRC check&#039;&#039;&#039; and &#039;&#039;&#039;Add ID3 tag&#039;&#039;&#039; are not checked.&lt;br /&gt;
* Ensure &#039;&#039;&#039;Check for external programs return code&#039;&#039;&#039; is checked.&lt;br /&gt;
* In the &#039;&#039;&#039;Additional command line options&#039;&#039;&#039; box, copy and paste the following.&lt;br /&gt;
&lt;br /&gt;
===FLAC===&lt;br /&gt;
&lt;br /&gt;
 /d /c C:\&amp;quot;Program Files&amp;quot;\LossyWAV\lossywav.exe %s --standard --silent --stdout|C:\&amp;quot;Program Files&amp;quot;\FLAC\flac.exe - -b 512 &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-5&#039;&#039;&#039;&amp;lt;/font&amp;gt; -f -T &amp;quot;artist=%a&amp;quot; -T &amp;quot;title=%t&amp;quot; -T &amp;quot;album=%g&amp;quot; -T &amp;quot;date=%y&amp;quot; -T &amp;quot;tracknumber=%n&amp;quot; -T &amp;quot;genre=%m&amp;quot; -o %d&lt;br /&gt;
&lt;br /&gt;
===TAK (no tagging)===&lt;br /&gt;
&lt;br /&gt;
 /d /c C:\&amp;quot;Program Files&amp;quot;\LossyWAV\lossywav.exe %s --standard --silent --stdout|C:\&amp;quot;Program Files&amp;quot;\TAK\takc.exe -e &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-p2&#039;&#039;&#039;&amp;lt;/font&amp;gt; -fsl512 -ihs - %d&lt;br /&gt;
&lt;br /&gt;
===WavPack===&lt;br /&gt;
&lt;br /&gt;
 /d /c C:\&amp;quot;Program Files&amp;quot;\LossyWAV\lossywav.exe %s --standard --silent --stdout|C:\&amp;quot;Program Files&amp;quot;\WavPack\wavpack.exe &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-h&#039;&#039;&#039;&amp;lt;/font&amp;gt; --blocksize=512 --merge-blocks -i -w &amp;quot;Artist=%a&amp;quot; -w &amp;quot;Title=%t&amp;quot; -w &amp;quot;Album=%g&amp;quot; -w &amp;quot;Year=%y&amp;quot; -w &amp;quot;Track=%n&amp;quot; -w &amp;quot;Genre=%m&amp;quot; - %d&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; The green text indicates where you would change the compression level or add settings for the encoder.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not worry what bit rate is shown in the bit rate drop down box, this will be ignored, as will the quality setting chosen below it.&lt;br /&gt;
&lt;br /&gt;
[[Image:EACandLossyWAV.gif|frame|center|EAC External Compression dialogue configured for LossyFLAC ]]&lt;br /&gt;
&lt;br /&gt;
=File Extension=&lt;br /&gt;
Unfortunately, [[EAC]] does not allow long file extensions, and therefore the recommended &#039;&#039;&#039;.lossy.&amp;lt;ext&amp;gt;&#039;&#039;&#039; cannot be used.  Users are recommended to manually update their file extensions to include the &#039;&#039;&#039;.lossy&#039;&#039;&#039; prefix, to maintain the distinction between these lossy files and any lossless [[FLAC]]/[[TAK]]/[[WavPack]] files you may have.&lt;br /&gt;
&lt;br /&gt;
=Addtional Reading=&lt;br /&gt;
* [[Exact_Audio_Copy | Exact Audio Copy]]&lt;br /&gt;
* [[LossyWAV]]&lt;br /&gt;
* [[FLAC]]&lt;br /&gt;
* [[TAK]]&lt;br /&gt;
* [[WavPack]]&lt;br /&gt;
* [[Lossless | About Lossless Compression]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
[[Category:EAC Guides]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=EAC_and_LossyWAV&amp;diff=19212</id>
		<title>EAC and LossyWAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=EAC_and_LossyWAV&amp;diff=19212"/>
		<updated>2008-10-06T09:59:38Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software Needed =&lt;br /&gt;
* [http://www.exactaudiocopy.de/en/index.php/resources/download/ Exact Audio Copy]&lt;br /&gt;
* [[LossyWAV]]&lt;br /&gt;
* Either:&lt;br /&gt;
** [[FLAC]]&lt;br /&gt;
** [[TAK]]&lt;br /&gt;
** [[WavPack]]&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This guide assumes that EAC is has been configured for secure ripping, if not please follow [[EAC_Drive_Configuration | this]] guide.&lt;br /&gt;
* Extract lossywav.exe and your chosen encoder to a folder, or folders, of your choosing.&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
* Open EAC and insert a CD into the drive.&lt;br /&gt;
* Click the &#039;&#039;&#039;EAC&#039;&#039;&#039; menu and select &#039;&#039;&#039;Compression Options&#039;&#039;&#039;.&lt;br /&gt;
* Click the &#039;&#039;&#039;External Compression&#039;&#039;&#039; Tab, and check &#039;&#039;&#039;Use external program for compression&#039;&#039;&#039;.&lt;br /&gt;
* Change &#039;&#039;&#039;Parameter Passing Scheme&#039;&#039;&#039; to &#039;&#039;&#039;User Defined Encoder&#039;&#039;&#039;.&lt;br /&gt;
* Change &#039;&#039;&#039;Use file extension&#039;&#039;&#039; to &#039;&#039;&#039;.flac&#039;&#039;&#039;, &#039;&#039;&#039;.tak&#039;&#039;&#039;, or &#039;&#039;&#039;.wv&#039;&#039;&#039;, depending on your encoder of choice.&lt;br /&gt;
* Click the &#039;&#039;&#039;Browse&#039;&#039;&#039; button and locate &#039;&#039;&#039;cmd.exe&#039;&#039;&#039;. In Windows XP it can be found in &#039;&#039;&#039;C:\WINDOWS\system32&#039;&#039;&#039;.&lt;br /&gt;
* Ensure &#039;&#039;&#039;Use CRC check&#039;&#039;&#039; and &#039;&#039;&#039;Add ID3 tag&#039;&#039;&#039; are not checked.&lt;br /&gt;
* Ensure &#039;&#039;&#039;Check for external programs return code&#039;&#039;&#039; is checked.&lt;br /&gt;
* In the &#039;&#039;&#039;Addtional command line options&#039;&#039;&#039; box, copy and paste the following.&lt;br /&gt;
&lt;br /&gt;
===FLAC===&lt;br /&gt;
&lt;br /&gt;
 /d /c C:\&amp;quot;Program Files&amp;quot;\LossyWAV\lossywav.exe %s --standard --silent --stdout|C:\&amp;quot;Program Files&amp;quot;\FLAC\flac.exe - -b 512 &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-5&#039;&#039;&#039;&amp;lt;/font&amp;gt; -f -T &amp;quot;artist=%a&amp;quot; -T &amp;quot;title=%t&amp;quot; -T &amp;quot;album=%g&amp;quot; -T &amp;quot;date=%y&amp;quot; -T &amp;quot;tracknumber=%n&amp;quot; -T &amp;quot;genre=%m&amp;quot; -o %d&lt;br /&gt;
&lt;br /&gt;
===TAK (no tagging)===&lt;br /&gt;
&lt;br /&gt;
 /d /c C:\&amp;quot;Program Files&amp;quot;\LossyWAV\lossywav.exe %s --standard --silent --stdout|C:\&amp;quot;Program Files&amp;quot;\TAK\takc.exe -e &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-p2&#039;&#039;&#039;&amp;lt;/font&amp;gt; -fsl512 -ihs - %d&lt;br /&gt;
&lt;br /&gt;
===WavPack===&lt;br /&gt;
&lt;br /&gt;
 /d /c C:\&amp;quot;Program Files&amp;quot;\LossyWAV\lossywav.exe %s --standard --silent --stdout|C:\&amp;quot;Program Files&amp;quot;\WavPack\wavpack.exe &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-h&#039;&#039;&#039;&amp;lt;/font&amp;gt; --blocksize=512 --merge-blocks -i -w &amp;quot;Artist=%a&amp;quot; -w &amp;quot;Title=%t&amp;quot; -w &amp;quot;Album=%g&amp;quot; -w &amp;quot;Year=%y&amp;quot; -w &amp;quot;Track=%n&amp;quot; -w &amp;quot;Genre=%m&amp;quot; - %d&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; The green text indicates where you would change the compression level or add settings for the encoder.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not worry what bit rate is shown in the bit rate drop down box, this will be ignored, as will the quality setting chosen below it.&lt;br /&gt;
&lt;br /&gt;
[[Image:EACandLossyWAV.gif|frame|center|EAC External Compression dialogue configured for LossyFLAC ]]&lt;br /&gt;
&lt;br /&gt;
=File Extension=&lt;br /&gt;
Unfortunately, [[EAC]] does not allow long file extensions, and therefore the recommended &#039;&#039;&#039;.lossy.&amp;lt;ext&amp;gt;&#039;&#039;&#039; cannot be used.  Users are recommended to manually update their file extensions to include the &#039;&#039;&#039;.lossy&#039;&#039;&#039; prefix, to maintain the distinction between these lossy files and any lossless [[FLAC]]/[[TAK]]/[[WavPack]] files you may have.&lt;br /&gt;
&lt;br /&gt;
=Addtional Reading=&lt;br /&gt;
* [[Exact_Audio_Copy | Exact Audio Copy]]&lt;br /&gt;
* [[LossyWAV]]&lt;br /&gt;
* [[FLAC]]&lt;br /&gt;
* [[TAK]]&lt;br /&gt;
* [[WavPack]]&lt;br /&gt;
* [[Lossless | About Lossless Compression]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
[[Category:EAC Guides]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=EAC_and_TAK&amp;diff=19211</id>
		<title>EAC and TAK</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=EAC_and_TAK&amp;diff=19211"/>
		<updated>2008-10-06T09:18:13Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Software Needed==&lt;br /&gt;
* [http://www.exactaudiocopy.de/en/index.php/resources/download/ Exact Audio Copy]&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=58784 TAK]&lt;br /&gt;
* [[Wapet]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This guide assumes that EAC has been configured for secure ripping, if not please follow [[EAC_Drive_Configuration | this]] guide.&lt;br /&gt;
* Extract &#039;&#039;&#039;takc.exe&#039;&#039;&#039; into a folder of your choice.&lt;br /&gt;
* Extract &#039;&#039;&#039;wapet.exe&#039;&#039;&#039; into your &#039;&#039;&#039;Exact Audio Copy&#039;&#039;&#039; directory.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
* Open EAC and insert a CD into the drive.&lt;br /&gt;
* Click the &#039;&#039;&#039;EAC&#039;&#039;&#039; menu and select &#039;&#039;&#039;Compression Options...&#039;&#039;&#039; (or press &#039;&#039;&#039;F11&#039;&#039;&#039;).&lt;br /&gt;
* Click the &#039;&#039;&#039;External Compression&#039;&#039;&#039; tab, and put a check box in &#039;&#039;&#039;Use external program for compression&#039;&#039;&#039;.&lt;br /&gt;
* Change &#039;&#039;&#039;Parameter passing scheme&#039;&#039;&#039; to &#039;&#039;&#039;User Defined Encoder&#039;&#039;&#039;.&lt;br /&gt;
* Change &#039;&#039;&#039;Use file extension&#039;&#039;&#039; to &#039;&#039;&#039;.tak&#039;&#039;&#039;.&lt;br /&gt;
* Click the &#039;&#039;&#039;Browse&#039;&#039;&#039; button and locate &#039;&#039;&#039;wapet.exe&#039;&#039;&#039;.&lt;br /&gt;
* Remove the ticks from &#039;&#039;&#039;Use CRC check&#039;&#039;&#039;, &#039;&#039;&#039;Add ID3 tag&#039;&#039;&#039; and &#039;&#039;&#039;Check for external programs return code&#039;&#039;&#039;.&lt;br /&gt;
* In the &#039;&#039;&#039;Additional command line options&#039;&#039;&#039; box, copy and paste the string below.&lt;br /&gt;
&#039;&#039;&#039;APEv2 Tag:&#039;&#039;&#039;&lt;br /&gt;
 %d -t &amp;quot;Artist=%a&amp;quot; -t &amp;quot;Title=%t&amp;quot; -t &amp;quot;Album=%g&amp;quot; -t &amp;quot;Year=%y&amp;quot; -t &amp;quot;Track=%n&amp;quot; -t &amp;quot;Genre=%m&amp;quot; &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;&amp;quot;C:\Program Files\TAK\takc.exe&amp;quot;&#039;&#039;&#039;&amp;lt;/span&amp;gt; -e &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;-p2&#039;&#039;&#039;&amp;lt;/span&amp;gt; %s %d &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;Note 1&#039;&#039;&#039;: This needs to point to where &#039;&#039;&#039;takc.exe&#039;&#039;&#039; is located.  If the path contains spaces, you must surround it with double quotes (&amp;quot;).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Note 2&#039;&#039;&#039;: Alter this switch for the desired compression mode.  If you leave the switch out, TAK will use the default of -p2.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Taken from the TAK command line summary:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-p#        select encoder preset #: 0-5 (fastest to strongest, default is 2).&lt;br /&gt;
             Append E/M (-p2m) to increase the evaluation level to Extra/Max.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:EACandTAK.png|frame|center|EAC External Compression dialogue configured for TAK with tagging support provided by Wapet]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t worry what bit rate is shown in the &#039;&#039;&#039;Bit rate&#039;&#039;&#039; drop down box, this will be ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Addtional Reading==&lt;br /&gt;
* [[TAK]]&lt;br /&gt;
* [[Exact_Audio_Copy | Exact Audio Copy]]&lt;br /&gt;
* [[Lossless | About Lossless Compression]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
[[Category:EAC Guides|TAK &amp;amp; EAC]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=EAC_and_LossyWAV&amp;diff=19210</id>
		<title>EAC and LossyWAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=EAC_and_LossyWAV&amp;diff=19210"/>
		<updated>2008-10-06T09:15:04Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Added File Extension&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software Needed =&lt;br /&gt;
* [http://www.exactaudiocopy.de/en/index.php/resources/download/ Exact Audio Copy]&lt;br /&gt;
* [[LossyWAV]]&lt;br /&gt;
* Either:&lt;br /&gt;
** [[FLAC]]&lt;br /&gt;
** [[TAK]]&lt;br /&gt;
** [[WavPack]]&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This guide assumes that EAC is has been configured for secure ripping, if not please follow [[EAC_Drive_Configuration | this]] guide.&lt;br /&gt;
* Extract lossywav.exe and your chosen encoder to a folder, or folders, of your choosing.&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
* Open EAC and insert a CD into the drive.&lt;br /&gt;
* Click the &#039;&#039;&#039;EAC&#039;&#039;&#039; menu and select &#039;&#039;&#039;Compression Options&#039;&#039;&#039;.&lt;br /&gt;
* Click the &#039;&#039;&#039;External Compression&#039;&#039;&#039; Tab, and check &#039;&#039;&#039;Use external program for compression&#039;&#039;&#039;.&lt;br /&gt;
* Change &#039;&#039;&#039;Parameter Passing Scheme&#039;&#039;&#039; to &#039;&#039;&#039;User Defined Encoder&#039;&#039;&#039;.&lt;br /&gt;
* Change &#039;&#039;&#039;Use file extension&#039;&#039;&#039; to &#039;&#039;&#039;.flac&#039;&#039;&#039;, &#039;&#039;&#039;.tak&#039;&#039;&#039;, or &#039;&#039;&#039;.wv&#039;&#039;&#039;, depending on your encodoer of choice.&lt;br /&gt;
* Click the &#039;&#039;&#039;Browse&#039;&#039;&#039; button and locate &#039;&#039;&#039;cmd.exe&#039;&#039;&#039;. In Windows XP it can be found in &#039;&#039;&#039;C:\WINDOWS\system32&#039;&#039;&#039;.&lt;br /&gt;
* Ensure &#039;&#039;&#039;Use CRC check&#039;&#039;&#039; and &#039;&#039;&#039;Add ID3 tag&#039;&#039;&#039; are not checked.&lt;br /&gt;
* Ensure &#039;&#039;&#039;Check for external programs return code&#039;&#039;&#039; is checked.&lt;br /&gt;
* In the &#039;&#039;&#039;Addtional command line options&#039;&#039;&#039; box, copy and paste the following.&lt;br /&gt;
&lt;br /&gt;
===FLAC===&lt;br /&gt;
&lt;br /&gt;
 /d /c C:\&amp;quot;Program Files&amp;quot;\LossyWAV\lossywav.exe %s --standard --silent --stdout|C:\&amp;quot;Program Files&amp;quot;\FLAC\flac.exe - -b 512 &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-5&#039;&#039;&#039;&amp;lt;/font&amp;gt; -f -T &amp;quot;artist=%a&amp;quot; -T &amp;quot;title=%t&amp;quot; -T &amp;quot;album=%g&amp;quot; -T &amp;quot;date=%y&amp;quot; -T &amp;quot;tracknumber=%n&amp;quot; -T &amp;quot;genre=%m&amp;quot; -o %d&lt;br /&gt;
&lt;br /&gt;
===TAK (no tagging)===&lt;br /&gt;
&lt;br /&gt;
 /d /c C:\&amp;quot;Program Files&amp;quot;\LossyWAV\lossywav.exe %s --standard --silent --stdout|C:\&amp;quot;Program Files&amp;quot;\TAK\takc.exe -e &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-p2&#039;&#039;&#039;&amp;lt;/font&amp;gt; -fsl512 -ihs - %d&lt;br /&gt;
&lt;br /&gt;
===WavPack===&lt;br /&gt;
&lt;br /&gt;
 /d /c C:\&amp;quot;Program Files&amp;quot;\LossyWAV\lossywav.exe %s --standard --silent --stdout|C:\&amp;quot;Program Files&amp;quot;\WavPack\wavpack.exe &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-h&#039;&#039;&#039;&amp;lt;/font&amp;gt; --blocksize=512 --merge-blocks -i -w &amp;quot;Artist=%a&amp;quot; -w &amp;quot;Title=%t&amp;quot; -w &amp;quot;Album=%g&amp;quot; -w &amp;quot;Year=%y&amp;quot; -w &amp;quot;Track=%n&amp;quot; -w &amp;quot;Genre=%m&amp;quot; - %d&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; The green text indicates where you would change the compression level or add settings for the encoder.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not worry what bit rate is shown in the bit rate drop down box, this will be ignored, as will the quality setting chosen below it.&lt;br /&gt;
&lt;br /&gt;
[[Image:EACandLossyWAV.gif|frame|center|EAC External Compression dialogue configured for LossyFLAC ]]&lt;br /&gt;
&lt;br /&gt;
=File Extension=&lt;br /&gt;
Unfortunately, [[EAC]] does not allow long file extensions, and therefore the recommended &#039;&#039;&#039;.lossy.&amp;lt;ext&amp;gt;&#039;&#039;&#039; cannot be used.  Users are recommended to manually update their file extensions to include the &#039;&#039;&#039;.lossy&#039;&#039;&#039; prefix, to maintain the distinction between these lossy files and any lossless [[FLAC]]/[[TAK]]/[[WavPack]] files you may have.&lt;br /&gt;
&lt;br /&gt;
=Addtional Reading=&lt;br /&gt;
* [[Exact_Audio_Copy | Exact Audio Copy]]&lt;br /&gt;
* [[LossyWAV]]&lt;br /&gt;
* [[FLAC]]&lt;br /&gt;
* [[TAK]]&lt;br /&gt;
* [[WavPack]]&lt;br /&gt;
* [[Lossless | About Lossless Compression]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
[[Category:EAC Guides]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=19209</id>
		<title>LossyWAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=19209"/>
		<updated>2008-10-06T09:05:15Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Added link to EAC guide.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = lossyWAV&lt;br /&gt;
| screenshot = &lt;br /&gt;
| caption = &lt;br /&gt;
| maintainer = [http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C]&lt;br /&gt;
| stable_release = 1.1.0b&lt;br /&gt;
| preview_release = 1.0.1x RC4&lt;br /&gt;
| operating_system = [[Wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| use = [[Wikipedia:Digital signal processing|Digital signal processing]]&lt;br /&gt;
| license = [[Wikipedia:GNU General Public License|GNU GPL]]&lt;br /&gt;
| website = [http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 Hydrogenaudio]&lt;br /&gt;
}}&lt;br /&gt;
lossyWAV is a new free lossy pre-processor for [[PCM]] audio contained in the [[WAV]] file format. It reduces [[Wikipedia:Audio bit depth|bit depth]] of the input signal, which, when used in conjunction with certain lossless codecs, reduces the bitrate of the encoded file significantly compared to unpreprocessed compression. &lt;br /&gt;
lossyWAV&#039;s primary goal is to maintain [[transparency]] with a high degree of confidence when processing any audio data.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
lossyWAV is based on the lossyFLAC idea proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson] at Hydrogenaudio, which is a method of carefully reducing the bitdepth of samples, therefore utilising the wasted bits feature of the FLAC lossless codec. The aim is to transparently reduce audio bit depth (by making some lower significant bits (lsb&#039;s) zero), consequently taking advantage of FLAC&#039;s detection of consistently-zeroed lower significant bits within each single frame and significantly increasing coding efficiency.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498179] In this way the user can enjoy audio encoded using the same codec (which may be all important from a hardware compatibility perspective) at a reduced bitrate compared to the lossless version.&lt;br /&gt;
&lt;br /&gt;
[http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick Currie] ported the original [[Wikipedia:MATLAB|MATLAB]] implementation to [[Wikipedia:Borland Delphi|Delphi]] (Many thanks [[Wikipedia:CodeGear|CodeGear]] for Turbo Explorer!!) with a liberal sprinkling of [[Wikipedia:IA-32|IA-32]] and [[Wikipedia:x87|x87]] Assembly Language for speed.&lt;br /&gt;
&lt;br /&gt;
Subsequently, lossyFLAC proved itself to work with other lossless codecs, so the application name was changed to lossyWAV. &lt;br /&gt;
&lt;br /&gt;
Since then, Nick has heavily developed and built upon lossyWAV, with valuable tuning performed by [http://www.hydrogenaudio.org/forums/index.php?showuser=25015 Horst Albrecht] at Hydrogenaudio. Although the current lossyWAV implementation has built on David&#039;s original method, the method itself still very much belongs to its author.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate reduction==&lt;br /&gt;
It must be stressed that lossyWAV is a pure variable bit-depth pre-processor in that the overall sample size remains the same after processing but the number of significant bits used for the samples in a codec-block can change on a block-by-block basis. Bits-to-remove from the audio data are calculated on a block-by-block basis (codec-block length = 512 samples, 11.6msec @ 44.1kHz) using overlapping [[Wikipedia:fast Fourier transform|fast Fourier Transform]] (FFT) analyses of at least two lengths (default quality preset (-q 5) = 32, 64 &amp;amp; 1024 [[Wikipedia:Sampling %28signal processing%29|samples]]). After some manipulation, the results of each FFT analysis for a specific codec-block are then grouped and the minimum value used to determine bits-to-remove for the whole codec-block. Bit removal adds [[Wikipedia:white noise|white noise]] to the output, however the level of the added noise associated with the removal of a number of bits has been pre-calculated and the number of bits to remove will depend on the level of the noise floor of the codec-block in question. Each sample in the codec-block is then rounded such that the first &amp;lt;bits-to-remove&amp;gt; lsb&#039;s are zero. In this way the wasted bits feature of [[FLAC]] et al is exploited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!lossyWAV Test Set (16 bit / 44.1kHz)&lt;br /&gt;
!Codec&lt;br /&gt;
!lossless&lt;br /&gt;
!--insane&lt;br /&gt;
!--extreme&lt;br /&gt;
!--standard&lt;br /&gt;
!--portable&lt;br /&gt;
!-q 0&lt;br /&gt;
|-&lt;br /&gt;
!10 Album Test Set&lt;br /&gt;
| TAK&lt;br /&gt;
| 820 kbit/s&lt;br /&gt;
| 615 kbit/s&lt;br /&gt;
| 532 kbit/s&lt;br /&gt;
| 447 kbit/s&lt;br /&gt;
| 359 kbit/s&lt;br /&gt;
| 266 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
!10 Album Test Set&lt;br /&gt;
| FLAC&lt;br /&gt;
| 854 kbit/s&lt;br /&gt;
| 632 kbit/s&lt;br /&gt;
| 548 kbit/s&lt;br /&gt;
| 463 kbit/s&lt;br /&gt;
| 376 kbit/s&lt;br /&gt;
| 285 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
!10 Album Test Set&lt;br /&gt;
| Wavpack&lt;br /&gt;
| 852 kbit/s&lt;br /&gt;
| 641 kbit/s&lt;br /&gt;
| 563 kbit/s&lt;br /&gt;
| 481 kbit/s&lt;br /&gt;
| 390 kbit/s&lt;br /&gt;
| 296 kbit/s&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==File identification==&lt;br /&gt;
lossyWAV-processed WAV files are named with a double filename extension, .lossy.wav, to make them instantly identifiable. e.g. &amp;quot;.lossy.flac&amp;quot; would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498559]&lt;br /&gt;
&lt;br /&gt;
The --correction parameter is used when processing to create a correction file which is named with the .lwcdf.wav double filename extension. When &amp;quot;added&amp;quot; to the corresponding .lossy.wav, using the --merge parameter, the original file will be reconstituted.&lt;br /&gt;
&lt;br /&gt;
Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name. Combination names are listed in the &amp;quot;[[LossyWAV#Known supported codecs|known supported codecs]]&amp;quot; section below.&lt;br /&gt;
&lt;br /&gt;
lossyWAV inserts a variable-length &#039;fact&#039; chunk into the WAV file immediately after the &#039;fmt &#039; chunk. This takes the form:&amp;lt;pre&amp;gt;fact/&amp;lt;size&amp;gt;/lossyWAV x.y.z @ dd/mm/yyyy hh:mm:ss, -q 5&amp;lt;/pre&amp;gt;Where the version, date &amp;amp; time and user settings are copied. Additionally, if a lossyWAV &#039;fact&#039; chunk is found in a file, the processing will be halted (exit code = 16) to prevent re-processing of an already processed file.&lt;br /&gt;
&lt;br /&gt;
The -check parameter can be used to determine whether a file has previously been processed without trying to process it, exit code = 16 if already processed; exit code = 0 if not.&lt;br /&gt;
&lt;br /&gt;
==Quality presets==&lt;br /&gt;
*--insane: (-q 10) Highest quality preset, generally considered to be excessive;&lt;br /&gt;
*--extreme: (-q 7.5) High quality preset, disc space-saving alternative to lossless archiving for large audio collections, considered to be suitable for transcoding to other lossy codecs;&lt;br /&gt;
*--standard: (-q 5) Default preset, generally accepted to be transparent;&lt;br /&gt;
*--portable: (-q 2.5) DAP quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]]. [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316]&lt;br /&gt;
&lt;br /&gt;
All tuning has been performed on quality preset --standard with higher presets being more conservative. Quality preset --standard is generally accepted to be (and from testing so far is) transparent. If you find a track which --standard fails to achieve transparency after processing, please post a sample (no more than 30 seconds) in the development thread.&lt;br /&gt;
&lt;br /&gt;
==Supported input formats==&lt;br /&gt;
*[[WAV]]: 9-bit to 32-bit integer; 1 to 8 channels; sample rate &amp;amp;ge; 32kHz [[Pulse Code Modulation|PCM]]. Very high sample rates (&amp;amp;gt;48kHz) have not been extensively tested. Tunings have been focussed on 16-bit, 44.1kHz samples (i.e. [[Wikipedia:Red Book (audio CD standard)|CD]] PCM).&lt;br /&gt;
&lt;br /&gt;
==Codec compatibility==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Codec&lt;br /&gt;
!Supported&lt;br /&gt;
!Encoder parameters&lt;br /&gt;
!Combination name&lt;br /&gt;
|-&lt;br /&gt;
! [[Free Lossless Audio Codec|FLAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;5&#039;&#039;&#039; -&#039;&#039;&#039;b&#039;&#039;&#039; 512 --&#039;&#039;&#039;keep-foreign-metadata&#039;&#039;&#039;&lt;br /&gt;
| lossy&#039;&#039;&#039;FLAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Predictive Audio Compression|LPAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;b&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;LPAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:Audio Lossless Coding|MPEG-4 ALS]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;l&#039;&#039;&#039; -&#039;&#039;&#039;n&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;ALS&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[TAK]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;fsl&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;TAK&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[WavPack]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| --&#039;&#039;&#039;blocksize&#039;&#039;&#039;=512&lt;br /&gt;
| lossy&#039;&#039;&#039;WV&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Windows Media Audio#Windows Media Audio Lossless|WMA Lossless]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| lossy&#039;&#039;&#039;WMALSL&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Apple Lossless]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Audio|LA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Monkey&#039;s Audio]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[OptimFROG]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:TTA (codec)|TTA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is also [http://www.hometheaterhifi.com/volume_8_4/dvd-benchmark-part-6-dvd-audio-11-2001.html#Meridian%20Lossless%20Packing%20(MLP)%20in%20a%20Nutshell evidence] &amp;amp;mdash; so-called &amp;quot;Bit Shifting&amp;quot; &amp;amp;mdash; to suggest that lossyWAV may work with [[Wikipedia:Meridian Lossless Packing|MLP]], but this remains untested due to prohibitive prices of encoders.&lt;br /&gt;
&lt;br /&gt;
A comparison of portable media players is [[Wikipedia:Comparison of portable media players#Audio Formats|here]], which shows FLAC and WMA Lossless compatibility among listed players.&lt;br /&gt;
Any player supported by [http://www.rockbox.org Rockbox] can use FLAC or WavPack files after installing Rockbox.&lt;br /&gt;
===Important note===&lt;br /&gt;
&#039;&#039;&#039;NB: when encoding using a lossless codec, please ensure that the block size of the lossless codec matches that of lossyWAV (default = 512 samples). If this is not done then the lossless encoding of the processed WAV file will (almost certainly) be larger than it would otherwise have been. This is achieved by adding the &amp;quot;Encoder Parameters&amp;quot; in the table above to the command line of the lossless codec in question.&#039;&#039;&#039;&lt;br /&gt;
===Bonus feature===&lt;br /&gt;
Another, possibly not obvious, feature of lossyWAV is that the processed output can be &amp;quot;transcoded&amp;quot; from one lossless codec to another lossless codec with absolutely no loss of quality whatsoever. This is solely due to the fact that lossyWAV output is designed to be losslessly encoded - something that lossless codecs do very well indeed.&lt;br /&gt;
&lt;br /&gt;
==Using lossyWAV==&lt;br /&gt;
===Application settings===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lossyWAV 1.1.0, Copyright (C) 2007,2008 Nick Currie. Copyleft.&lt;br /&gt;
&lt;br /&gt;
This program is free software: you can redistribute it and/or modify it under&lt;br /&gt;
the terms of the GNU General Public License as published by the Free Software&lt;br /&gt;
Foundation, either version 3 of the License, or (at your option) any later&lt;br /&gt;
version.&lt;br /&gt;
&lt;br /&gt;
This program is distributed in the hope that it will be useful,but WITHOUT ANY&lt;br /&gt;
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A&lt;br /&gt;
PARTICULAR PURPOSE.  See the GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License along with&lt;br /&gt;
this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Usage   : lossyWAV &amp;lt;input wav file&amp;gt; &amp;lt;options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example : lossyWAV musicfile.wav&lt;br /&gt;
&lt;br /&gt;
Quality Options:&lt;br /&gt;
&lt;br /&gt;
-I, --insane        highest quality output, suitable for transcoding;&lt;br /&gt;
-E, --extreme       high quality output, also suitable for transcoding;&lt;br /&gt;
-S, --standard      default quality output, considered to be transparent;&lt;br /&gt;
-P, --portable      good quality output for DAP use. Not considered to be fully&lt;br /&gt;
                    transparent, but considered fit for its intended purpose.&lt;br /&gt;
&lt;br /&gt;
Standard Options:&lt;br /&gt;
&lt;br /&gt;
-c, --check         check if WAV file has already been processed; default=off.&lt;br /&gt;
                    errorlevel=16 if already processed, 0 if not.&lt;br /&gt;
-C, --correction    write correction file for processed WAV file; default=off.&lt;br /&gt;
-f, --force         forcibly over-write output file if it exists; default=off.&lt;br /&gt;
-h, --help          display help.&lt;br /&gt;
-L, --longhelp      display extended help.&lt;br /&gt;
-M, --merge         merge existing lossy.wav and lwcdf.wav files.&lt;br /&gt;
-o, --outdir &amp;lt;t&amp;gt;    destination directory for the output file(s).&lt;br /&gt;
-v, --version       display the lossyWAV version number.&lt;br /&gt;
&lt;br /&gt;
Special thanks:&lt;br /&gt;
&lt;br /&gt;
David Robinson      for the publication of his lossyFLAC method, guidance, and&lt;br /&gt;
                    the motivation to implement the method as lossyWAV.&lt;br /&gt;
Horst Albrecht      for ABX testing, valuable support in tuning the internal&lt;br /&gt;
                    presets, constructive criticism and all the feedback.&lt;br /&gt;
Sebastian Gesemann  for the noise shaping coefficients and help in using them&lt;br /&gt;
                    in the lossyWAV noise shaping implementation.&lt;br /&gt;
Don Cross           for the Complex-FFT algorithm used.&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Example drag&#039;n&#039;drop batch file===&lt;br /&gt;
Simply drag the FLAC files onto this batch file and it will process, recode in FLAC and copy ALL of the tags from the input FLAC file, placing the output lossyFLAC file in the same directory as the input FLAC file. Requires flac.exe and [http://www.synthetic-soul.co.uk/tag/ tag.exe] to be somewhere on the path. &lt;br /&gt;
&amp;lt;pre&amp;gt;@echo off&lt;br /&gt;
:repeat&lt;br /&gt;
if %1.==. goto end&lt;br /&gt;
if exist %1 flac -d %1 --stdout --silent|lossywav - --stdout --standard --stdinname %1|flac - -b 512 -o &amp;quot;%~dpn1.lossy.flac&amp;quot; --silent &amp;amp;&amp;amp; tag --fromfile %1 &amp;quot;%~dpn1.lossy.flac&amp;quot;&lt;br /&gt;
shift&lt;br /&gt;
goto repeat&lt;br /&gt;
:end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example Foobar2000 converter settings===&lt;br /&gt;
lossyFLAC settings:&amp;lt;pre&amp;gt;Encoder: c:\windows\system32\cmd.exe&lt;br /&gt;
Extension : lossy.flac&lt;br /&gt;
Parameters: /d /c c:\&amp;quot;program files&amp;quot;\bin\lossywav - --standard --silent --stdout|&lt;br /&gt;
            c:\&amp;quot;program files&amp;quot;\bin\flac - -b 512 -5 -f -o%d&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyTAK settings:&amp;lt;pre&amp;gt;Encoder: c:\windows\system32\cmd.exe&lt;br /&gt;
Extension  : lossy.tak&lt;br /&gt;
Parameters : /d /c c:\&amp;quot;program files&amp;quot;\bin\lossywav - --standard --silent --stdout|&lt;br /&gt;
             c:\&amp;quot;program files&amp;quot;\bin\takc -e -p2m -fsl512 -ihs - %d&lt;br /&gt;
Format is: lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyWV settings:&amp;lt;pre&amp;gt;Encoder: c:\windows\system32\cmd.exe&lt;br /&gt;
Extension : lossy.wv&lt;br /&gt;
Parameters: /d /c c:\&amp;quot;program files&amp;quot;\bin\lossywav - --standard --silent --stdout|&lt;br /&gt;
            c:\&amp;quot;program files&amp;quot;\bin\wavpack -hm --blocksize=512 --merge-blocks -i - %d&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a known problem within foobar2000 (although more likely to do with cmd.exe itself) when running an executable within the cmd.exe command line from a path which includes spaces. The suggested fix for this is to enclose the element of the path which contains spaces within double quotation marks (&amp;quot;), e.g. c:\&amp;quot;program files&amp;quot;\directory_where_executable_is\executable_name&lt;br /&gt;
&lt;br /&gt;
===Example EAC settings===&lt;br /&gt;
Please see [[EAC and LossyWAV]].&lt;br /&gt;
&lt;br /&gt;
==Frequently asked questions==&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why is the &amp;quot;.wav&amp;quot; file extension used?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; The &amp;quot;.wav&amp;quot; file extension is used because lossyWAV is a digital signal processor and not a codec. No decoding is required for any program to play a WAV file which has been processed with lossyWAV as it remains compliant with the RIFF WAVE format.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why create a processor which means that I cannot be sure that a lossless file is truly lossless?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; Unless one creates the lossless file personally, one can &#039;&#039;&#039;never&#039;&#039;&#039; be completely sure that the file is indeed lossless. e.g. If a WAV file is encoded to mp3 and then transcoded to a lossless codec, how can this pre-processing be easily determined?&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[Variable Bitrate|VBR]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; Yes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Do I need to re-process to change lossless codecs?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[transparency|transparent]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; At preset --standard, almost certainly.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[lossless]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Will it ever have a [[Constant Bitrate|CBR]] mode?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why should I use this?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039;&lt;br /&gt;
:*high quality&lt;br /&gt;
:*extremely low chance of audible [[artifact|artifacts]]&lt;br /&gt;
:*reasonable [[bitrate]]s&lt;br /&gt;
:*usable with unmodified, established lossless formats.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=55522 Original lossyFLAC thread] - Introduction of the concept by David Robinson (Replay Gain developer) and initial development;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=65499 lossyWAV 1.2.0 Development Thread] - Latest release candidate and beta version in the first post;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63254 lossyWAV 1.1.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=64617 lossyWAV 1.1.0 release thread] - Release of version 1.1.0 on 12 July 2008;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 lossyWAV Development thread] - Conversion of the original Matlab script to Delphi and evolution of the method;&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63225 lossyWAV 1.0.0 release thread] - Release of version 1.0.0b on 12 May 2008;&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Exact_Audio_Copy&amp;diff=19208</id>
		<title>Exact Audio Copy</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Exact_Audio_Copy&amp;diff=19208"/>
		<updated>2008-10-06T09:02:26Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: /* Compression guides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{featured}}&lt;br /&gt;
{{Software Infobox&lt;br /&gt;
| name = Exact Audio Copy&lt;br /&gt;
| screenshot = [[Image:EAC_screenshot.png|250px|EAC screenshot]]&lt;br /&gt;
| caption = popular secure ripper with C2 error correction&lt;br /&gt;
| maintainer = Andre Wiethoff&lt;br /&gt;
| stable_release = 0.95b4&lt;br /&gt;
| preview_release = &lt;br /&gt;
| operating_system = Windows, Linux/BSD (Wine Emulation)&lt;br /&gt;
| use = Digital Audio Extraction&lt;br /&gt;
| license = Free, Cardware&lt;br /&gt;
| website = [http://www.exactaudiocopy.org EAC website]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exact Audio Copy&#039;&#039;&#039; (&#039;&#039;&#039;EAC&#039;&#039;&#039; for short) is a free software that can be used to extract tracks from an Audio CD to your computer&#039;s hard disk. What makes EAC special compared to other rippers is the fact that it is capable of reading audio CDs almost perfectly.&lt;br /&gt;
EAC uses various methods for extracting audio data. EAC can also invoke externally installed encoders, thereby making it possible to simultaneously rip and encode audio data to the format of your choice.&lt;br /&gt;
&lt;br /&gt;
== Features of Exact Audio Copy ==&lt;br /&gt;
* Usage of the Windows 95 and Windows NT ASPI Interface, so both SCSI and ATAPI CD-ROM drives are supported&lt;br /&gt;
* Hidden sector synchronization (jitter correction)&lt;br /&gt;
* Secure, fast and burst extraction methods selectable. Fast extraction should run at the same speed as other grabbers, but is probably not exact anymore. Burst mode just grabs the audio data without any synchronization.&lt;br /&gt;
* Read error and complete loss of sync detection and correction in secure modes, as far as possible&lt;br /&gt;
* Output of time positions of all non-exact corrections and listen to these positions&lt;br /&gt;
* Copy of ranges of music data, not only tracks&lt;br /&gt;
* Automatic Speed reduction on errors and fallback afterwards&lt;br /&gt;
* Normalization of extracted audio&lt;br /&gt;
* Usage of the Windows Audio Compression Manager (ACM Codecs) for direct compression e.g. to MP3 waves&lt;br /&gt;
* Support for the BladeEnc DLL that is usable like an ACM Codec for online MP3 compression&lt;br /&gt;
* Support of external MP3, VQF, RA and AAC encoders for automatic compression after extraction&lt;br /&gt;
* Batch compression and decompression of/to WAV files&lt;br /&gt;
* Compression offset support for exact compression/decompression&lt;br /&gt;
* Detection of pre-track gaps&lt;br /&gt;
* Detection of silence in pre-track gaps&lt;br /&gt;
* Automatic creation of CUE sheets for CDRWin, including all gaps, indices, track attributes, UPC and ISRC&lt;br /&gt;
* CD player functionality and prelistening to selected ranges&lt;br /&gt;
* Automatic detection of drive features, whether a drive has an accurate stream and/or does caching&lt;br /&gt;
* Sample Offsets for drives with no accurate streams, including the option of filling up missing samples with silence&lt;br /&gt;
* Option for synchronizing tracks for non-accurate stream drives&lt;br /&gt;
* Filename editing with local and remote CDDB database and cdplayer.ini support and more features like ID3 tagging&lt;br /&gt;
* Browse and edit local database&lt;br /&gt;
* Local CDDB support&lt;br /&gt;
* Record and Loop Record functions for recording from LP, radio, etc.&lt;br /&gt;
* Automatic rename of MP3 files according to their ID3 tag&lt;br /&gt;
* Catalog extraction function&lt;br /&gt;
* Multisession (CD-Extra) support&lt;br /&gt;
* CD-Text support&lt;br /&gt;
* CD-Write support for some drives&lt;br /&gt;
* ID3 Tag editor with drag and drop possibility from track listing and database&lt;br /&gt;
* Glitch removal after extraction&lt;br /&gt;
* Small WAV editor with the following functionality: delete, trim, normalize, pad, glitch removal, pop detection, interpolation of ranges, noise reduction, fade in/out, undo (and more)&lt;br /&gt;
* Program is Cardware, so feel free to copy&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
=== Extraction technology ===&lt;br /&gt;
In secure mode, this program reads every audio sector at least twice. That is one reason why the program is so slow. But by using this technique non-identical sectors are detected. If an error occurs (read or sync error), the program keeps on reading this sector, until eight of 16 retries are identical, but at maximum one, three or five times (according to the error recovery quality) these 16 retries are read. So, in the worst case, bad sectors are read up to 82 times! But this will help the program to obtain best result by comparing all of the retries. If it is not sure that the stream is correct (at least it can be said at approx. 99.5%) the program will tell the user where the (possible) read error occurred. The program also tries to adjust the jitter artefacts that occur on the first block of a track, so that each extraction should be exactly the same. On drives found to have the &#039;&#039;accurate stream&#039;&#039; feature, this is guaranteed. Of course, this is a little bit more complex, especially with some CD drives which have caching. When these drives cache audio data, every sector read will be read from cache and is identical. I initially implemented two ways of dealing with the caching problem. First there is an extra option for resetting the cache for use the the old secure mode (the one being kept for compatibility reasons). In the current beta version, the cache will still be reset by resetting the drive completely. You might imagine that this would slow down the reading process very badly.&lt;br /&gt;
&lt;br /&gt;
That is why it was implemented three new read modes in version 0.85beta. One really fast mode (up to half of maximum speed) is only for non-caching, accurate stream CD-ROM drives. The second one could be used for caching, accurate stream drives and the last one will work with drives that don&#039;t have accurate streams, or do caching. The last two will be much slower, when no read errors occur it will usually something around a third to a fourth of the drives maximum speed.&lt;br /&gt;
For testing, it was used a Plextor 14/32 drive that does no caching and a Teac R56S-600 drive that does caching. Furthermore the Plextor 14/32 supports the &#039;&#039;accurate stream&#039;&#039; feature, so it produces no jitter artefacts on any stream.&lt;br /&gt;
&lt;br /&gt;
This program is really damn slow in secure mode in comparison with other grabbers, but the program checks every sector over and over to get the correct data with high certainty. If you don&#039;t like this feature of EAC and prefer fast copies instead of secure copies, you should use the fast or burst extraction option in the options menu. But of course in fast mode, the program will no longer be able to find read errors. Only if a read error occurs in a sector synchronization area, will a sync error will still be displayed. Fast mode is sector synchronized with 2 blocks of 23 as synchronization blocks. Burst copy is even worse, no synchronization is done, enabling extraction at maximum speed of the drive. No error checking of any kind can be performed. If the stream ever breaks, it will tell the user in the status report by showing up suspicious positions. Of course this is only heuristic; there needn&#039;t be any errors on that positions; moreover there could be errors that are not found at all.&lt;br /&gt;
A new option for selecting the error recovery quality will determine how often these blocks of 16 reads will be done before giving up and working with the results obtained so far. For bad CDs, low error recovery quality will be fastest, but high recover quality should give best results.&lt;br /&gt;
&lt;br /&gt;
=== Gap technology ===&lt;br /&gt;
In the new versions of EAC it is possible to detect pre-track gaps. These are the pauses between two tracks. Usually they are two seconds long and a CD player will display a negative time during this pause. By enabling the option &#039;&#039;Detect Pre-Track Gaps&#039;&#039; it will be possible to detect all gap-lengths by reading the sub-channel information. Because this information is not stored on the CD directly retrievable, EAC has to search for the position a track ends. This search is quite fast, but it still takes on average a second per track. That&#039;s why I made it possible to disable it in the options. Besides that option you can choose to add the gaps to the previous track nevertheless. Otherwise you can choose either to append the gap to the correct track or to leave it out . A benefit of performing the detection and getting the gap times is the selection of a range to copy. There the correct times will be displayed. One last word on this topic: Because these pre-track gaps are found by testing positions, it is possible that it will not be 100% exact. But in most cases it will be correct.&lt;br /&gt;
&lt;br /&gt;
=== Automatic feature detection technology ===&lt;br /&gt;
From version 0.8 beta on it is possible to autodetect CD-ROM drive features. For each drive the program builds a separate drive options page. On this option page this function can be called.&lt;br /&gt;
There are two different features that will be checked by EAC: First if the stream is accurate and second, if the drive caches audio data. Even if the drive has a cache (drive specifications), it does not automatically mean that the drive uses the cache for audio extractions.&lt;br /&gt;
The test for the accurate stream feature should be always correct, but testing for cache will give some problems with drives that extract audio very slowly (under 4× speed). If results are uncertain (given e.g. two different results on different tests), you should assume that the drive does caching. The new secure mode for non-accurate and/or caching drives should work for all drives. The other new read modes are only a bit faster. If testing for accurate stream only sometimes gives a negative result, then you could nevertheless try to use the accurate secure mode. From version 0.8 beta on it is possible to autodetect CD-ROM drive features. For each drive the program builds a separate drive options page. On this option page this function can be called.&lt;br /&gt;
&lt;br /&gt;
=== Track synchronization technology ===&lt;br /&gt;
Usually CD audio extraction programs will extract one track after another. This could cause some problems on CD-ROM drives which are not accurate, when using a CD which has no gaps. When this option is enabled in the EAC options, EAC will synchronize a track with a preceding track if there is no silence at the track junction, so track transitions will be free from jitter artefacts (e.g. on live recordings).&lt;br /&gt;
&lt;br /&gt;
=== Offset technology ===&lt;br /&gt;
&#039;&#039;Sample Offset&#039;&#039; is another new feature of EAC, it will help to always get the same WAVs compared to a different reader and to prevent generation losses. Nearly all drives can not position the head correctly. That means if the program tells the drive to read block 10000 it will probably read data somewhere in block 9998 instead. But this is not visible to the reading program, it won&#039;t know if it is really the data it wanted. Usually the head will be set always to a fixed offset before or after the correct read position. So it is possible to detect this offset once and use it for all CDs coming afterwards. To find out the offset of any drive the offset has to be calculated relative to an absolute offset (reference offset).&lt;br /&gt;
&lt;br /&gt;
To implement this detection for all drives some bytes from common CDs (reference CDs) are used. These are the reference each CD-ROM drive has to compare with. Of course it was implemented only a limited selection of CDs that can be used to detect this offset. Sometimes there are different versions (releases) of the same CD, but only the same press like the one that was used will work. Furthermore, drives that have jitter are unable to position their heads correctly. So you should activate the secure or fast extraction method and moreover if your drive does caching, activate no-caching emulation. The &#039;&#039;Searching Track Start&#039;&#039; algorithm tries to find the correct start position even if jitter occurs. But this is not always possible, mainly if the drive jitters too much. But it can be shown that nearly 80% of the reads will get the same results. A drive&#039;s characteristic offset can be found automatically from the CD from on the list of reference CDs. Because of the mentioned jitter error the value given back is also not 100% sure. You should start the test several times and remember to activate emulate no-caching if necessary. Then you should get one value that occurs more often than other values. &#039;&#039;&#039;You should use this test on two different CDs at least! Both tests should give back the same value!&#039;&#039;&#039;&lt;br /&gt;
As different models of common CD-R writer usually do not add the same offset on writing, it seems that also big CD manufactures also do not always press the same offset on their CDs. So it was determined the most common offset of pressed CDs and integrated it into the offset detection routines.&lt;br /&gt;
Please help us measure more reference CDs. If you have a Plextor 14/32 32× CD-ROM drive, we know the offset. So all you have to do is run some popular disks from your own collection through it with a utility you could download here and send us the output.&lt;br /&gt;
&lt;br /&gt;
== Exact Audio Copy guides ==&lt;br /&gt;
You can begin configuring EAC by starting with the Drive Configuration followed by the Gap Settings and finally, the Encoder Options. Remember to use only an original, factory-pressed Audio CD for configuring EAC. Please do not use, CD-Rs, CD-RWs, bootlegs or any such discs. Also use a non copy-protected disc which carries the familiar “Compact Disc-Digital Audio” logo.&lt;br /&gt;
&lt;br /&gt;
=== General guides ===&lt;br /&gt;
* [[EAC Configuration Wizard]]&lt;br /&gt;
* [[EAC configuration]]&lt;br /&gt;
* [[EAC Drive Configuration]]&lt;br /&gt;
* EAC [[Gap settings]]&lt;br /&gt;
&lt;br /&gt;
=== Compression guides ===&lt;br /&gt;
* [[EAC and FLAC]]&lt;br /&gt;
* [[EAC and Lame]]&lt;br /&gt;
* [[EAC and AAC]] &lt;br /&gt;
* [[EAC and Monkeys Audio]]&lt;br /&gt;
* [[EAC and Musepack]]&lt;br /&gt;
* [[EAC and Ogg Vorbis]]&lt;br /&gt;
* [[EAC and TAK]]&lt;br /&gt;
* [[EAC and WavPack]]&lt;br /&gt;
* [[EAC and LossyWAV]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[EAC CUE Sheets]] ASCII formats explained&lt;br /&gt;
* [[EAC Vs CDex SecureMode | EAC secure mode versus CDex full paranoia]] (by Pio2001)&lt;br /&gt;
* [[REACT]] 2 integration for running EAC scripts&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.rjamorim.com/rrw/eac.html Historical versions of EAC] at ReallyRareWares&lt;br /&gt;
* [http://www.digital-inn.de/forum271/ EAC forums]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:CD Rippers]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=EAC_and_LossyWAV&amp;diff=19207</id>
		<title>EAC and LossyWAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=EAC_and_LossyWAV&amp;diff=19207"/>
		<updated>2008-10-06T09:01:31Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software Needed =&lt;br /&gt;
* [http://www.exactaudiocopy.de/en/index.php/resources/download/ Exact Audio Copy]&lt;br /&gt;
* [[LossyWAV]]&lt;br /&gt;
* Either:&lt;br /&gt;
** [[FLAC]]&lt;br /&gt;
** [[TAK]]&lt;br /&gt;
** [[WavPack]]&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This guide assumes that EAC is has been configured for secure ripping, if not please follow [[EAC_Drive_Configuration | this]] guide.&lt;br /&gt;
* Extract lossywav.exe and your chosen encoder to a folder, or folders, of your choosing.&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
* Open EAC and insert a CD into the drive.&lt;br /&gt;
* Click the &#039;&#039;&#039;EAC&#039;&#039;&#039; menu and select &#039;&#039;&#039;Compression Options&#039;&#039;&#039;.&lt;br /&gt;
* Click the &#039;&#039;&#039;External Compression&#039;&#039;&#039; Tab, and check &#039;&#039;&#039;Use external program for compression&#039;&#039;&#039;.&lt;br /&gt;
* Change &#039;&#039;&#039;Parameter Passing Scheme&#039;&#039;&#039; to &#039;&#039;&#039;User Defined Encoder&#039;&#039;&#039;.&lt;br /&gt;
* Change &#039;&#039;&#039;Use file extension&#039;&#039;&#039; to &#039;&#039;&#039;.flac&#039;&#039;&#039;.&lt;br /&gt;
* Click the &#039;&#039;&#039;Browse&#039;&#039;&#039; button and locate &#039;&#039;&#039;cmd.exe&#039;&#039;&#039;. In Windows XP it can be found in &#039;&#039;&#039;C:\WINDOWS\system32&#039;&#039;&#039;.&lt;br /&gt;
* Ensure &#039;&#039;&#039;Use CRC check&#039;&#039;&#039; and &#039;&#039;&#039;Add ID3 tag&#039;&#039;&#039; are not checked.&lt;br /&gt;
* Ensure &#039;&#039;&#039;Check for external programs return code&#039;&#039;&#039; is checked.&lt;br /&gt;
* In the &#039;&#039;&#039;Addtional command line options&#039;&#039;&#039; box, copy and paste the following.&lt;br /&gt;
&lt;br /&gt;
===FLAC===&lt;br /&gt;
&lt;br /&gt;
 /d /c C:\&amp;quot;Program Files&amp;quot;\LossyWAV\lossywav.exe %s --standard --silent --stdout|C:\&amp;quot;Program Files&amp;quot;\FLAC\flac.exe - -b 512 &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-5&#039;&#039;&#039;&amp;lt;/font&amp;gt; -f -T &amp;quot;artist=%a&amp;quot; -T &amp;quot;title=%t&amp;quot; -T &amp;quot;album=%g&amp;quot; -T &amp;quot;date=%y&amp;quot; -T &amp;quot;tracknumber=%n&amp;quot; -T &amp;quot;genre=%m&amp;quot; -o %d&lt;br /&gt;
&lt;br /&gt;
===TAK (no tagging)===&lt;br /&gt;
&lt;br /&gt;
 /d /c C:\&amp;quot;Program Files&amp;quot;\LossyWAV\lossywav.exe %s --standard --silent --stdout|C:\&amp;quot;Program Files&amp;quot;\TAK\takc.exe -e &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-p2&#039;&#039;&#039;&amp;lt;/font&amp;gt; -fsl512 -ihs - %d&lt;br /&gt;
&lt;br /&gt;
===WavPack===&lt;br /&gt;
&lt;br /&gt;
 /d /c C:\&amp;quot;Program Files&amp;quot;\LossyWAV\lossywav.exe %s --standard --silent --stdout|C:\&amp;quot;Program Files&amp;quot;\WavPack\wavpack.exe &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-h&#039;&#039;&#039;&amp;lt;/font&amp;gt; --blocksize=512 --merge-blocks -i -w &amp;quot;Artist=%a&amp;quot; -w &amp;quot;Title=%t&amp;quot; -w &amp;quot;Album=%g&amp;quot; -w &amp;quot;Year=%y&amp;quot; -w &amp;quot;Track=%n&amp;quot; -w &amp;quot;Genre=%m&amp;quot; - %d&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; The green text indicates where you would change the compression level or add settings for the encoder.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not worry what bit rate is shown in the bit rate drop down box, this will be ignored, as will the quality setting chosen below it.&lt;br /&gt;
&lt;br /&gt;
[[Image:EACandLossyWAV.gif|frame|center|EAC External Compression dialogue configured for LossyFLAC ]]&lt;br /&gt;
&lt;br /&gt;
==Addtional Reading==&lt;br /&gt;
* [[Exact_Audio_Copy | Exact Audio Copy]]&lt;br /&gt;
* [[LossyWAV]]&lt;br /&gt;
* [[FLAC]]&lt;br /&gt;
* [[TAK]]&lt;br /&gt;
* [[WavPack]]&lt;br /&gt;
* [[Lossless | About Lossless Compression]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
[[Category:EAC Guides]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=File:EACandLossyWAV.gif&amp;diff=19206</id>
		<title>File:EACandLossyWAV.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=File:EACandLossyWAV.gif&amp;diff=19206"/>
		<updated>2008-10-06T08:58:14Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: EAC External Compression dialogue configured for LossyFLAC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EAC External Compression dialogue configured for LossyFLAC&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=TAK&amp;diff=18360</id>
		<title>TAK</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=TAK&amp;diff=18360"/>
		<updated>2008-04-08T13:59:23Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Updated graph and summary to 1.0.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Codec Infobox&lt;br /&gt;
| name = Tom&#039;s lossless Audio Kompressor&lt;br /&gt;
| logo =&lt;br /&gt;
| type = lossless&lt;br /&gt;
| purpose = lossless audio compression.&lt;br /&gt;
| maintainer = Thomas Becker&lt;br /&gt;
| recommended_encoder = TAK encoder&lt;br /&gt;
| recommended_text = TAK v1.0.4&lt;br /&gt;
| website = [http://thbeck.de/Tak/Tak.html ThBeck.de/Tak/Tak.html] &#039;&#039;(german)&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;Tom&#039;s lossless Audio Kompressor&#039;&#039;&#039; (&#039;&#039;&#039;TAK&#039;&#039;&#039;) is a lossless audio compressor which promises compression performance similar to [[Monkey&#039;s Audio]] “High” and decompression speed similar to [[Free Lossless Audio Codec|FLAC]].&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* High compression&lt;br /&gt;
* Fast compression and decompression speed&lt;br /&gt;
* Streaming support (necessary headers for decompressing the audio are written to the stream every 2 seconds)&lt;br /&gt;
* Piping support for encoding&lt;br /&gt;
* Error tolerance (single bit error will never affect more than 250 ms)&lt;br /&gt;
* Error detection (each frame protected by a 24-bit checksum (CRC))&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Fast encoding speed (while providing better compression TAK encodes as fast as [[Free Lossless Audio Codec|FLAC]] -8 in TAK&#039;s “Insane” and several times faster in “Turbo” mode)&lt;br /&gt;
* Fast decompression speed (on par with FLAC / [[WavPack]])&lt;br /&gt;
* Good compression levels (on par with [[Monkey&#039;s Audio]] High)&lt;br /&gt;
* Error Robustness&lt;br /&gt;
* Fast Seeking&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* Closed Source (at the moment)&lt;br /&gt;
* No hardware support&lt;br /&gt;
* Very limited software support (playback: [[Winamp]] &amp;amp; [[foobar2000]] plugins, tagging: Mp3Tag)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and Software That Support TAK ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* None&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
==== Windows ====&lt;br /&gt;
* TAK SDK 1.0.5 – Software Development Kit for TAK [http://www.hydrogenaudio.org/forums/index.php?showtopic=54159 here]&lt;br /&gt;
* Winamp Plugin 1.0.7 [http://www.hydrogenaudio.org/forums/index.php?showtopic=54159 here]&lt;br /&gt;
* foo_input_tak, TAK decoder for [[foobar2000]] [http://www.hydrogenaudio.org/forums/index.php?showtopic=54087 here] (supports tagging and [[Replay Gain]])&lt;br /&gt;
* [[Mp3tag]] – universal tag editor with support for TAK&lt;br /&gt;
* shntool (since version 3.0.6)&lt;br /&gt;
&lt;br /&gt;
==== Linux ====&lt;br /&gt;
* The TAK reference applications (GUI as well as commandline) are known to run on Linux via Wine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Recommended Settings ==&lt;br /&gt;
* Default compression: “-p2” (formerly &#039;&#039;Normal&#039;&#039;) is the most attractive setting, providing an excellent compromise between compression and encoding speed. (At compression levels close to [[Monkey&#039;s Audio]] High (&amp;lt;0.4% difference), it is able to encode more quickly.)&lt;br /&gt;
 takc -e [input file]&lt;br /&gt;
* Highest compression: “-pMax” (same as -p5m) (This will create files which are comparable in size to file created using [[Monkey&#039;s Audio]] High. Decompression speed is comparable to [[WavPack]] Normal.)&lt;br /&gt;
 takc -e -pMax [input file]&lt;br /&gt;
* Fastest compression: “-p0” (This will create files which are comparable in size to [[Monkey&#039;s Audio]] Fast or [[WavPack]] High. Decompression speed is comparable to [[Free Lossless Audio Codec|FLAC]] 0.)&lt;br /&gt;
 takc -e -p0 [input file]&lt;br /&gt;
&lt;br /&gt;
=== TAK Performance Graph ===&lt;br /&gt;
[[Image:TAK_performance_graph_1-0-4.png|frame|center|Graph showing encoding and decoding rate against compression, using data from Synthetic Soul&#039;s test on TAK 1.0.4&amp;lt;br /&amp;gt;(see [[TAK#External Links|External Links]])]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using TAK ==&lt;br /&gt;
=== TAK with [[foobar2000]] ===&lt;br /&gt;
* Copy the takc.exe to your [[foobar2000]] directory&lt;br /&gt;
* Go to File → Preferences → Tools → Converter&lt;br /&gt;
* Set it up as shown:&lt;br /&gt;
[[Image:Tak_foobar_converter.png|frame|center|Screenshot of foobar 0.9.5 Converter settings for TAK 1.0.3]]&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; replace -p2 with the desired compression level.&lt;br /&gt;
&lt;br /&gt;
* TAK introduced encoding from STDIN in version 1.0.3, eliminating the need for a temporary file and greatly improving overall compression time. If you are using an earlier version of TAK use the following command line instead:&lt;br /&gt;
 -e -p2 %s %d&lt;br /&gt;
* Use [[APEv2 specification|APEv2]] tagging (will be used as internal tagging)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TAK with EAC ===&lt;br /&gt;
Please read the [[EAC and TAK|wiki guide]], which details how to create TAK files with [[Exact Audio Copy|EAC]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future Features ==&lt;br /&gt;
* Unicode support&lt;br /&gt;
* MD5 audio checksums for verification and identification&lt;br /&gt;
* A German version&lt;br /&gt;
* Embedded cue sheets&lt;br /&gt;
* Embedded cover art&lt;br /&gt;
* Multichannel audio&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
; Is the codec safe for use?&lt;br /&gt;
: Yes. To check, convert a WAVE to TAK and back and compare the two (or use foobar&#039;s bitcompare tool).&lt;br /&gt;
; Why should I use TAK?&lt;br /&gt;
: TAK offers high compression ratios with great decoding rates.&lt;br /&gt;
; What can I compress with TAK?&lt;br /&gt;
: TAK 1.0 can compress any integer-format (up to 24 bits per channel) PCM RIFF WAVE file (.wav). Piping support as of v1.0.3 is implemented, so converting lossless files to WAV first is not necessary.&lt;br /&gt;
; What about hardware support?&lt;br /&gt;
: None at the moment. Although, &#039;&#039;-p0 (Turbo)&#039;&#039;, &#039;&#039;-p1 (Fast)&#039;&#039; and &#039;&#039;-p2 (Normal)&#039;&#039; are the candidates for hardware playback.&lt;br /&gt;
; When will the source be opened?&lt;br /&gt;
: Yes, TAK will be open-source, as soon as the code is ported to C or C++ and documented. However, Thomas has mentioned that he would like to improve the codec before opening the source.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://thbeck.de/Tak/Tak.html thbeck.de/Tak/Tak.html] – Official Website &#039;&#039;(german)&#039;&#039;&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61875 TAK 1.0.4 Release Announcement / Discussion Thread on HA] &#039;&#039;(english)&#039;&#039;&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=61874 TAK 1.0.4 Downloads]&lt;br /&gt;
* [http://synthetic-soul.co.uk/comparison/lossless/ synthetic-soul.co.uk/comparison/lossless] – Comparison with Other Codecs (by Synthetic Soul)&lt;br /&gt;
* [http://flac.sourceforge.net/comparison.html flac.sourceforge.net/comparison.html] – An Updated Comparison (from FLAC Homepage)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Lossless]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=File:TAK_performance_graph_1-0-4.png&amp;diff=18358</id>
		<title>File:TAK performance graph 1-0-4.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=File:TAK_performance_graph_1-0-4.png&amp;diff=18358"/>
		<updated>2008-04-08T13:53:27Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Compares encoding, decoding speed and compression of the TAK audio format with v1.0.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Compares encoding, decoding speed and compression of the TAK audio format with v1.0.4&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Adding_Support_For_Monkey%27s_Audio&amp;diff=18344</id>
		<title>REACT:Adding Support For Monkey&#039;s Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Adding_Support_For_Monkey%27s_Audio&amp;diff=18344"/>
		<updated>2008-04-06T21:07:10Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Added piping info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To configure [[REACT]] to use an encoder that is not supported with the original INI and CFG files you will need to make changes to both the INI and CFG file you require.&lt;br /&gt;
&lt;br /&gt;
Below you will find additional text that you will need to add to your config files to use [[Monkey&#039;s Audio]] with [[REACT]].  This is meant as an example, to demonstrate what is required to add any codec that you choose.  The naming schemes and meta data used are based on the examples in the initial INI and CFG files; you may want to change them to fit your methodology.&lt;br /&gt;
&lt;br /&gt;
==REACT.ini==&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
Specify that we want to use [[Monkey&#039;s Audio]] as our image format.&lt;br /&gt;
&lt;br /&gt;
 ImageExt=ape&lt;br /&gt;
&lt;br /&gt;
===UserTrackFormats===&lt;br /&gt;
Specify that we want to encode tracks using [[Monkey&#039;s Audio]].&lt;br /&gt;
&lt;br /&gt;
 Ape=1&lt;br /&gt;
&lt;br /&gt;
===UserOutputNames===&lt;br /&gt;
Specify the directories for [[Monkey&#039;s Audio]] images and tracks.&lt;br /&gt;
&lt;br /&gt;
 ImageDir_Ape=@OutRoot@\APE-images\$cdartist$&lt;br /&gt;
 TrackDir_Ape=@OutRoot@\APE\$cdartist$\[$year$] $album$&lt;br /&gt;
&lt;br /&gt;
===UserSettings===&lt;br /&gt;
Specify any encoding options and the version used.&lt;br /&gt;
&lt;br /&gt;
 Opt_Ape=-c2000&lt;br /&gt;
 Ver_Ape=4.01&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==REACT-image.cfg==&lt;br /&gt;
&lt;br /&gt;
===REM ** Transfer RG values from Wavgain calculations, instead of recalculation.===&lt;br /&gt;
Add the text below under the comment above, with the other similar lines.&lt;br /&gt;
&lt;br /&gt;
 SET RG_Ape=-t &amp;quot;replaygain_album_gain=%album_gain% dB&amp;quot; -t &amp;quot;replaygain_album_peak=%album_peak%&amp;quot;&lt;br /&gt;
 SET RG_Ape_acdir=-t $qreplaygain_album_gain=%album_gain% dB$q -t $qreplaygain_album_peak=%album_peak%$q&lt;br /&gt;
&lt;br /&gt;
===REM ---- Image ----===&lt;br /&gt;
Add the text below under the comment above, with the other similar lines.&lt;br /&gt;
&lt;br /&gt;
As [[Monkey&#039;s Audio]] does not support inline tagging this section uses &#039;&#039;&#039;[[Monkey&#039;s Audio|mac.exe]]&#039;&#039;&#039; to encode, and then &#039;&#039;&#039;[[Tag_(tagger)|tag.exe]]&#039;&#039;&#039; to add [[APEv2]] tags to the newly-created [[Monkey&#039;s Audio]] file.  You will need to add &#039;&#039;&#039;[[Monkey&#039;s Audio|mac.exe]]&#039;&#039;&#039; and &#039;&#039;&#039;[[Tag_(tagger)|tag.exe]]&#039;&#039;&#039; to your [[REACT]] &#039;&#039;&#039;tools&#039;&#039;&#039; directory.&lt;br /&gt;
&lt;br /&gt;
 IF NOT @ImageExt@==ape GOTO end_ape_image&lt;br /&gt;
 	SET dest=&amp;quot;@ImageDir_Ape@&amp;quot;&lt;br /&gt;
 	IF NOT EXIST %dest% MKDIR %dest%&lt;br /&gt;
 	@tools@\mac.exe &amp;quot;@source@&amp;quot; &amp;quot;@image@&amp;quot; @Opt_Ape@&lt;br /&gt;
 	@tools@\tag.exe %RG_Ape% -t &amp;quot;%ArtistField%=@cdartist@&amp;quot; -t album=&amp;quot;@album@&amp;quot; -t totaltracks=&amp;quot;@numtracks@&amp;quot; -t year=&amp;quot;@year@&amp;quot; -t genre=&amp;quot;@genre@&amp;quot; -t comment=&amp;quot;@comment@&amp;quot; -t encodedby=&amp;quot;%USERNAME%&amp;quot; -t encodersettings=&amp;quot;Monkey&#039;s Audio @Ver_Ape@ @Opt_Ape@&amp;quot; -f cuesheet=&amp;quot;@cuesheet@&amp;quot; -f eaclog=&amp;quot;@eaclog@&amp;quot; &amp;quot;@image@&amp;quot;&lt;br /&gt;
 	MOVE /Y &amp;quot;@image@&amp;quot; %dest%&lt;br /&gt;
 	MOVE /Y &amp;quot;@cuesheet@&amp;quot; %dest%&lt;br /&gt;
 	IF %have_cover%==1 COPY /Y &amp;quot;@cover@&amp;quot; %dest%\&amp;quot;@basename@.jpg&amp;quot;&lt;br /&gt;
 :end_ape_image&lt;br /&gt;
&lt;br /&gt;
===REM ---- Tracks ---- ===&lt;br /&gt;
Add the text below under the comment above, with the other similar lines.&lt;br /&gt;
&lt;br /&gt;
This section uses [[ACDIR]] to create [[Monkey&#039;s Audio]] track files. It is complicated by the fact that [[Monkey&#039;s Audio]] does not support piping, or inline tagging.  The section uses [[ACDIR]] to first split the image [[WAV|WAVE]] into tracks [[WAV|WAVEs]], and then uses [[ACDIR]] again to execute mutiple commands for each track, these being:&lt;br /&gt;
&lt;br /&gt;
# Use [[Monkey&#039;s Audio|mac.exe]] to encode the relevant track [[WAV|WAVE]].&lt;br /&gt;
# Use [[Tag_(tagger)|tag.exe]] to add [[APEv2]] tags to the [[Monkey&#039;s Audio]] file.&lt;br /&gt;
# Delete the [[WAV|WAVE]] file.&lt;br /&gt;
&lt;br /&gt;
 IF NOT @Ape@==1 GOTO end_ape_tracks&lt;br /&gt;
 	SET dest=&amp;quot;@TrackDir_Ape@&amp;quot;&lt;br /&gt;
 	IF NOT EXIST %dest% MKDIR %dest%&lt;br /&gt;
 	PUSHD %dest%&lt;br /&gt;
 		IF @various@==1 SET VA_tag=-t $qalbum artist=@VA@$q&lt;br /&gt;
 		@tools@\acdir.exe --overwrite --output &amp;quot;%TrackName%.wav&amp;quot; --extract &amp;quot;@sourcecuesheet@&amp;quot;&lt;br /&gt;
 		@tools@\acdir.exe --exec &amp;quot;@tools@\mac.exe $q%TrackName%.wav$q $q%TrackName%.ape$q @Opt_Ape@ &amp;amp;&amp;amp; @tools@\tag.exe %RG_Ape_acdir% %VA_tag% -t artist=$#a -t album=$#T -t title=$#t -t track=$n/$N -t year=$q@year@$q -t genre=$q@genre@$q -t comment=$q@comment@$q -t encodedby=$q%USERNAME%$q -t encodersettings=$qMonkey&#039;s Audio @Ver_Ape@ @Opt_Ape@$q $q%TrackName%.ape$q &amp;amp;&amp;amp; DEL $q%TrackName%.wav$q&amp;quot; &amp;quot;@sourcecuesheet@&amp;quot;&lt;br /&gt;
 		COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
 		IF %have_cover%==1 COPY /Y &amp;quot;@cover@&amp;quot; &amp;quot;folder.jpg&amp;quot;&lt;br /&gt;
 		IF EXIST &amp;quot;@albumfile@.[*].cue&amp;quot; COPY /Y &amp;quot;@albumfile@.[*].cue&amp;quot; .&lt;br /&gt;
 	POPD&lt;br /&gt;
 :end_ape_tracks&lt;br /&gt;
&lt;br /&gt;
====Piping to Mac.exe====&lt;br /&gt;
The offical version of mac.exe does not support piping, but the version that can be found on the [http://etree.org/shnutils/shntool/ shntool] website does.  If you are using this version you can save some time, by replacing the code above with the following:&lt;br /&gt;
&lt;br /&gt;
 IF NOT @Ape@==1 GOTO end_ape_tracks&lt;br /&gt;
 	SET dest=&amp;quot;@TrackDir_Ape@&amp;quot;&lt;br /&gt;
 	IF NOT EXIST %dest% MKDIR %dest%&lt;br /&gt;
 	PUSHD %dest%&lt;br /&gt;
 		IF @various@==1 SET VA_tag=-t $qalbum artist=@VA@$q&lt;br /&gt;
 		@tools@\acdir.exe --overwrite --output &amp;quot;%TrackName%.ape&amp;quot; --pipe &amp;quot;@tools@\mac.exe - $#o @Opt_Ape@ &amp;amp;&amp;amp; @tools@\tag.exe %RG_Ape_acdir% %VA_tag% -t artist=$#a -t album=$#T -t title=$#t -t track=$n/$N -t year=$q@year@$q -t genre=$q@genre@$q -t comment=$q@comment@$q -t encodedby=$q%USERNAME%$q -t encodersettings=$qMonkey&#039;s Audio @Ver_Ape@ @Opt_Ape@$q $q%TrackName%.ape$q&amp;quot; &amp;quot;@sourcecuesheet@&amp;quot;&lt;br /&gt;
 		COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
 		IF %have_cover%==1 COPY /Y &amp;quot;@cover@&amp;quot; &amp;quot;folder.jpg&amp;quot;&lt;br /&gt;
 		IF EXIST &amp;quot;@albumfile@.[*].cue&amp;quot; COPY /Y &amp;quot;@albumfile@.[*].cue&amp;quot; .&lt;br /&gt;
 	POPD&lt;br /&gt;
 	TITLE &amp;quot;@album@&amp;quot;&lt;br /&gt;
 	POPD&lt;br /&gt;
 :end_ape_tracks&lt;br /&gt;
&lt;br /&gt;
This allows [[ACDIR]] to pipe the audio data to [[Monkey&#039;s Audio|mac.exe]], rather than creating temporary WAVE files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==REACT-track.cfg==&lt;br /&gt;
&lt;br /&gt;
===REM ============== Begin Main Script ================== ===&lt;br /&gt;
Add the text below under the comment above, with the other similar lines.&lt;br /&gt;
&lt;br /&gt;
 SET TrackDir_Ape=&amp;quot;@TrackDir_Ape@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===REM ---- Track ---- ===&lt;br /&gt;
Add the text below under the comment above, with the other similar lines.&lt;br /&gt;
&lt;br /&gt;
As [[Monkey&#039;s Audio]] does not support inline tagging this section uses &#039;&#039;&#039;[[Monkey&#039;s Audio|mac.exe]]&#039;&#039;&#039; to encode, and then &#039;&#039;&#039;[[Tag_(tagger)|tag.exe]]&#039;&#039;&#039; to add [[APEv2]] tags to the newly-created [[Monkey&#039;s Audio]] file.  You will need to add &#039;&#039;&#039;[[Monkey&#039;s Audio|mac.exe]]&#039;&#039;&#039; and &#039;&#039;&#039;[[Tag_(tagger)|tag.exe]]&#039;&#039;&#039; to your [[REACT]] &#039;&#039;&#039;tools&#039;&#039;&#039; directory.&lt;br /&gt;
&lt;br /&gt;
 IF NOT @Ape@==1 GOTO end_ape_tracks&lt;br /&gt;
 	IF NOT EXIST %TrackDir_Ape% MKDIR %TrackDir_Ape%&lt;br /&gt;
 	PUSHD %TrackDir_Ape%&lt;br /&gt;
 		IF @various@==1 SET VA_tag=-t &amp;quot;album artist=@VA@&amp;quot;&lt;br /&gt;
 		ECHO ON&lt;br /&gt;
 		@tools@\mac.exe &amp;quot;@source@&amp;quot; &amp;quot;%TrackName%.ape&amp;quot; @Opt_Ape@&lt;br /&gt;
 		@tools@\tag.exe %VA_tag% -t artist=&amp;quot;@artist@&amp;quot; -t album=&amp;quot;@album@&amp;quot; -t track=&amp;quot;@track@/@numtracks@&amp;quot; -t title=&amp;quot;@title@&amp;quot; -t year=&amp;quot;@year@&amp;quot; -t genre=&amp;quot;@genre@&amp;quot; -t comment=&amp;quot;@comment@&amp;quot; -t encodedby=&amp;quot;%USERNAME%&amp;quot; -t encodersettings=&amp;quot;Monkey&#039;s Audio @Ver_Ape@ @Opt_Ape@&amp;quot; &amp;quot;%TrackName%.ape&amp;quot;&lt;br /&gt;
 		@ECHO OFF&lt;br /&gt;
 		IF %have_cover%==1 IF NOT EXIST folder.jpg COPY &amp;quot;@cover@&amp;quot; folder.jpg&lt;br /&gt;
 		TITLE @track@/@numtracks@ - &amp;quot;@album@&amp;quot;&lt;br /&gt;
 	POPD&lt;br /&gt;
 :end_ape_tracks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related Thread==&lt;br /&gt;
This tip is a result of a the discussion in the thread [http://www.hydrogenaudio.org/forums/index.php?showtopic=62321 Using REACT 2.0 - I need help.......].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Monkey&#039;s Audio]]&lt;br /&gt;
* [[Tag_(tagger)|Case&#039;s Tag]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
* [http://nyaochi.sakura.ne.jp/xoops/modules/mysoftwares/tc_2.html ACDIR]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Adding Support For Monkey&#039;s Audio]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Adding_Support_For_Monkey%27s_Audio&amp;diff=18342</id>
		<title>REACT:Adding Support For Monkey&#039;s Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Adding_Support_For_Monkey%27s_Audio&amp;diff=18342"/>
		<updated>2008-04-06T18:01:31Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To configure [[REACT]] to use an encoder that is not supported with the original INI and CFG files you will need to make changes to both the INI and CFG file you require.&lt;br /&gt;
&lt;br /&gt;
Below you will find additional text that you will need to add to your config files to use [[Monkey&#039;s Audio]] with [[REACT]].  This is meant as an example, to demonstrate what is required to add any codec that you choose.  The naming schemes and meta data used are based on the examples in the initial INI and CFG files; you may want to change them to fit your methodology.&lt;br /&gt;
&lt;br /&gt;
==REACT.ini==&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
Specify that we want to use [[Monkey&#039;s Audio]] as our image format.&lt;br /&gt;
&lt;br /&gt;
 ImageExt=ape&lt;br /&gt;
&lt;br /&gt;
===UserTrackFormats===&lt;br /&gt;
Specify that we want to encode tracks using [[Monkey&#039;s Audio]].&lt;br /&gt;
&lt;br /&gt;
 Ape=1&lt;br /&gt;
&lt;br /&gt;
===UserOutputNames===&lt;br /&gt;
Specify the directories for [[Monkey&#039;s Audio]] images and tracks.&lt;br /&gt;
&lt;br /&gt;
 ImageDir_Ape=@OutRoot@\APE-images\$cdartist$&lt;br /&gt;
 TrackDir_Ape=@OutRoot@\APE\$cdartist$\[$year$] $album$&lt;br /&gt;
&lt;br /&gt;
===UserSettings===&lt;br /&gt;
Specify any encoding options and the version used.&lt;br /&gt;
&lt;br /&gt;
 Opt_Ape=-c2000&lt;br /&gt;
 Ver_Ape=4.01&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==REACT-image.cfg==&lt;br /&gt;
&lt;br /&gt;
===REM ** Transfer RG values from Wavgain calculations, instead of recalculation.===&lt;br /&gt;
Add the text below under the comment above, with the other similar lines.&lt;br /&gt;
&lt;br /&gt;
 SET RG_Ape=-t &amp;quot;replaygain_album_gain=%album_gain% dB&amp;quot; -t &amp;quot;replaygain_album_peak=%album_peak%&amp;quot;&lt;br /&gt;
 SET RG_Ape_acdir=-t $qreplaygain_album_gain=%album_gain% dB$q -t $qreplaygain_album_peak=%album_peak%$q&lt;br /&gt;
&lt;br /&gt;
===REM ---- Image ----===&lt;br /&gt;
Add the text below under the comment above, with the other similar lines.&lt;br /&gt;
&lt;br /&gt;
As [[Monkey&#039;s Audio]] does not support inline tagging this section uses &#039;&#039;&#039;[[Monkey&#039;s Audio|mac.exe]]&#039;&#039;&#039; to encode, and then &#039;&#039;&#039;[[Tag_(tagger)|tag.exe]]&#039;&#039;&#039; to add [[APEv2]] tags to the newly-created [[Monkey&#039;s Audio]] file.  You will need to add &#039;&#039;&#039;[[Monkey&#039;s Audio|mac.exe]]&#039;&#039;&#039; and &#039;&#039;&#039;[[Tag_(tagger)|tag.exe]]&#039;&#039;&#039; to your [[REACT]] &#039;&#039;&#039;tools&#039;&#039;&#039; directory.&lt;br /&gt;
&lt;br /&gt;
 IF NOT @ImageExt@==ape GOTO end_Ape_image&lt;br /&gt;
 	SET dest=&amp;quot;@ImageDir_Ape@&amp;quot;&lt;br /&gt;
 	IF NOT EXIST %dest% MKDIR %dest%&lt;br /&gt;
 	@tools@\mac.exe &amp;quot;@source@&amp;quot; &amp;quot;@image@&amp;quot; @Opt_Ape@&lt;br /&gt;
 	@tools@\tag.exe %RG_Ape% -t &amp;quot;%ArtistField%=@cdartist@&amp;quot; -t album=&amp;quot;@album@&amp;quot; -t totaltracks=&amp;quot;@numtracks@&amp;quot; -t year=&amp;quot;@year@&amp;quot; -t genre=&amp;quot;@genre@&amp;quot; -t comment=&amp;quot;@comment@&amp;quot; -t encodedby=&amp;quot;%USERNAME%&amp;quot; -t encodersettings=&amp;quot;Monkey&#039;s Audio @Ver_Ape@ @Opt_Ape@&amp;quot; -f cuesheet=&amp;quot;@cuesheet@&amp;quot; -f eaclog=&amp;quot;@eaclog@&amp;quot; &amp;quot;@image@&amp;quot;&lt;br /&gt;
 	MOVE /Y &amp;quot;@image@&amp;quot; %dest%&lt;br /&gt;
 	MOVE /Y &amp;quot;@cuesheet@&amp;quot; %dest%&lt;br /&gt;
 	IF %have_cover%==1 COPY /Y &amp;quot;@cover@&amp;quot; %dest%\&amp;quot;@basename@.jpg&amp;quot;&lt;br /&gt;
 :end_Ape_image&lt;br /&gt;
&lt;br /&gt;
===REM ---- Tracks ---- ===&lt;br /&gt;
Add the text below under the comment above, with the other similar lines.&lt;br /&gt;
&lt;br /&gt;
This section uses [[ACDIR]] to create [[Monkey&#039;s Audio]] track files. It is complicated by the fact that [[Monkey&#039;s Audio]] does not support piping, or inline tagging.  The section uses [[ACDIR]] to first split the image [[WAV|WAVE]] into tracks [[WAV|WAVEs]], and then uses [[ACDIR]] again to execute mutiple commands for each track, these being:&lt;br /&gt;
&lt;br /&gt;
# Use [[Monkey&#039;s Audio|mac.exe]] to encode the relevant track [[WAV|WAVE]].&lt;br /&gt;
# Use [[Tag_(tagger)|tag.exe]] to add [[APEv2]] tags to the [[Monkey&#039;s Audio]] file.&lt;br /&gt;
# Delete the [[WAV|WAVE]] file.&lt;br /&gt;
&lt;br /&gt;
 IF NOT @Ape@==1 GOTO end_Ape_tracks&lt;br /&gt;
 	SET dest=&amp;quot;@TrackDir_Ape@&amp;quot;&lt;br /&gt;
 	IF NOT EXIST %dest% MKDIR %dest%&lt;br /&gt;
 	PUSHD %dest%&lt;br /&gt;
 		IF @various@==1 SET VA_tag=-t $qalbum artist=@VA@$q&lt;br /&gt;
 		@tools@\acdir.exe --overwrite --output &amp;quot;%TrackName%.wav&amp;quot; --extract &amp;quot;@sourcecuesheet@&amp;quot;&lt;br /&gt;
 		@tools@\acdir.exe --exec &amp;quot;@tools@\mac.exe $q%TrackName%.wav$q $q%TrackName%.ape$q @Opt_Ape@ &amp;amp;&amp;amp; @tools@\tag.exe %RG_Ape_acdir% %VA_tag% -t artist=$#a -t album=$#T -t title=$#t -t track=$n/$N -t year=$q@year@$q -t genre=$q@genre@$q -t comment=$q@comment@$q -t encodedby=$q%USERNAME%$q -t encodersettings=$qMonkey&#039;s Audio @Ver_Ape@ @Opt_Ape@$q $q%TrackName%.ape$q &amp;amp;&amp;amp; DEL $q%TrackName%.wav$q&amp;quot; &amp;quot;@sourcecuesheet@&amp;quot;&lt;br /&gt;
 		COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
 		IF %have_cover%==1 COPY /Y &amp;quot;@cover@&amp;quot; &amp;quot;folder.jpg&amp;quot;&lt;br /&gt;
 		IF EXIST &amp;quot;@albumfile@.[*].cue&amp;quot; COPY /Y &amp;quot;@albumfile@.[*].cue&amp;quot; .&lt;br /&gt;
 	POPD&lt;br /&gt;
 :end_Ape_tracks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==REACT-track.cfg==&lt;br /&gt;
&lt;br /&gt;
===REM ============== Begin Main Script ================== ===&lt;br /&gt;
Add the text below under the comment above, with the other similar lines.&lt;br /&gt;
&lt;br /&gt;
 SET TrackDir_Ape=&amp;quot;@TrackDir_Ape@&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===REM ---- Track ---- ===&lt;br /&gt;
Add the text below under the comment above, with the other similar lines.&lt;br /&gt;
&lt;br /&gt;
As [[Monkey&#039;s Audio]] does not support inline tagging this section uses &#039;&#039;&#039;[[Monkey&#039;s Audio|mac.exe]]&#039;&#039;&#039; to encode, and then &#039;&#039;&#039;[[Tag_(tagger)|tag.exe]]&#039;&#039;&#039; to add [[APEv2]] tags to the newly-created [[Monkey&#039;s Audio]] file.  You will need to add &#039;&#039;&#039;[[Monkey&#039;s Audio|mac.exe]]&#039;&#039;&#039; and &#039;&#039;&#039;[[Tag_(tagger)|tag.exe]]&#039;&#039;&#039; to your [[REACT]] &#039;&#039;&#039;tools&#039;&#039;&#039; directory.&lt;br /&gt;
&lt;br /&gt;
 IF NOT @Ape@==1 GOTO end_Ape_tracks&lt;br /&gt;
 	IF NOT EXIST %TrackDir_Ape% MKDIR %TrackDir_Ape%&lt;br /&gt;
 	PUSHD %TrackDir_Ape%&lt;br /&gt;
 		IF @various@==1 SET VA_tag=-t &amp;quot;album artist=@VA@&amp;quot;&lt;br /&gt;
 		ECHO ON&lt;br /&gt;
 		@tools@\mac.exe &amp;quot;@source@&amp;quot; &amp;quot;%TrackName%.ape&amp;quot; @Opt_Ape@&lt;br /&gt;
 		@tools@\tag.exe %VA_tag% -t artist=&amp;quot;@artist@&amp;quot; -t album=&amp;quot;@album@&amp;quot; -t track=&amp;quot;@track@/@numtracks@&amp;quot; -t title=&amp;quot;@title@&amp;quot; -t year=&amp;quot;@year@&amp;quot; -t genre=&amp;quot;@genre@&amp;quot; -t comment=&amp;quot;@comment@&amp;quot; -t encodedby=&amp;quot;%USERNAME%&amp;quot; -t encodersettings=&amp;quot;Monkey&#039;s Audio @Ver_Ape@ @Opt_Ape@&amp;quot; &amp;quot;%TrackName%.ape&amp;quot;&lt;br /&gt;
 		@ECHO OFF&lt;br /&gt;
 		IF %have_cover%==1 IF NOT EXIST folder.jpg COPY &amp;quot;@cover@&amp;quot; folder.jpg&lt;br /&gt;
 		TITLE @track@/@numtracks@ - &amp;quot;@album@&amp;quot;&lt;br /&gt;
 	POPD&lt;br /&gt;
 :end_Ape_tracks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related Thread==&lt;br /&gt;
This tip is a result of a the discussion in the thread [http://www.hydrogenaudio.org/forums/index.php?showtopic=62321 Using REACT 2.0 - I need help.......].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Monkey&#039;s Audio]]&lt;br /&gt;
* [[Tag_(tagger)|Case&#039;s Tag]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
* [http://nyaochi.sakura.ne.jp/xoops/modules/mysoftwares/tc_2.html ACDIR]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Adding Support For Monkey&#039;s Audio]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=18318</id>
		<title>REACT</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=18318"/>
		<updated>2008-03-20T09:16:42Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Removed specific mod version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;REACT (&#039;&#039;&#039;R&#039;&#039;&#039;un &#039;&#039;&#039;EAC&#039;&#039;&#039; &#039;&#039;&#039;T&#039;&#039;&#039;asks) can be used in conjunction with [[Exact Audio Copy]] (EAC), as an external compressor.&lt;br /&gt;
&lt;br /&gt;
It is, however, not an encoder, but an interim application that provides a scripting facility to call muliple encoders or pre-/post-encoding applications to process the [[WAV|WAVE]] files created by [[Exact Audio Copy|EAC]], or the files created by the script itself.  &#039;&#039;&#039;In short&#039;&#039;&#039;, REACT allows you to run multiple tasks on the audio extracted, instead of only one.&lt;br /&gt;
&lt;br /&gt;
REACT integrates with [[Exact Audio Copy]], adding some hotkeys combinations to access often used functions more quickly.  It will also alter the default name for image files according to your INI settings, and close the extraction dialogue in order for the logfile to be created and used from within your script.  It can auto-configure [[Exact Audio Copy|EAC]], updating the external compression options so that [[Exact Audio Copy|EAC]] is ready to run REACT immediately.  This feature is extremely useful for novice users.&lt;br /&gt;
&lt;br /&gt;
REACT is configured using an INI file and config files.  The commands used within the config files are command line/DOS commands, with the addition of numerous variables which REACT makes available.  For example, any instance of &#039;&#039;&#039;@artist@&#039;&#039;&#039; in the script will be replaced by the [[freedb]] artist name, while &#039;&#039;&#039;$artist$&#039;&#039;&#039; will be replaced with a &#039;&#039;filename-friendly&#039;&#039; version of the artist name (with illegal characters replaced according to your requirements).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From REACT v2.0 Final, most configuration can be done by editing the INI file only&#039;&#039;&#039;. Only advanced users should edit the .cfg files.&lt;br /&gt;
&lt;br /&gt;
REACT v2.0 as published does not currently work with EAC 0.99 prebeta 1-3 due to a naming scheme mismatch between old and new EAC versions, and also has a number of known bugs addressed with [[REACT:Mods#Synthetic_Soul.27s_Mod|Synthetic Soul&#039;s Mod]] of REACT.&lt;br /&gt;
==Hotkeys==&lt;br /&gt;
&lt;br /&gt;
REACT adds a few useful hotkeys to EAC:&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;4&amp;quot;&lt;br /&gt;
! style=padding-right:24px;| Key || Function&lt;br /&gt;
|-&lt;br /&gt;
| F1 || Wiki page for EAC.&lt;br /&gt;
|-&lt;br /&gt;
| Alt-F1 || Wiki page for REACT (this page).&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl-F2 || Configure EAC to be used with REACT.&lt;br /&gt;
|-&lt;br /&gt;
| Alt-F2 || Edit REACT.ini in notepad.&lt;br /&gt;
|-&lt;br /&gt;
| Alt-F3 || Edit REACT-image.cfg in notepad.&lt;br /&gt;
|-&lt;br /&gt;
| F4 || Activates Shift-F5 in EAC (Copy selected tracks - Compressed). Optionally, it also starts CoverDownloader\albumart. You may edit REACT.ini and set TracksHotVal=+{F6} if you want to do Test &amp;amp; Copy instead of Copy only. If the INI key CreateAllCuesheets=1, all four cuesheet types are saved as different files as well.&lt;br /&gt;
|-&lt;br /&gt;
| F10 || Shortcut to menu &amp;quot;Action - Copy Image and Save CUE Sheet - Compressed...&amp;quot;. REACT will fill in the image name, as defined in the ImageNaming INI key (template). REACT will also close the Save Wavform dialog automatically if you have configured EAC to extract to a fixed directory.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Configuration Files==&lt;br /&gt;
&lt;br /&gt;
There are three configuration files in total; The INI file, one CFG file for copying to audio track files, and one for copying to an audio image with cuesheet. The config files are stored in the REACT folder, and are named:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;4&amp;quot;&lt;br /&gt;
! style=padding-right:24px;| File || Description&lt;br /&gt;
|-&lt;br /&gt;
| REACT.ini || Regular INI file with key=values pairs. Defines variables used by the CFG files.&lt;br /&gt;
|-&lt;br /&gt;
| REACT-tracks.cfg || - Used for &amp;quot;Copy Selected Tracks Compressed&amp;quot;, default shortcut : F4&lt;br /&gt;
|-&lt;br /&gt;
| REACT-image.cfg || - Used for &amp;quot;Copy Image &amp;amp; Create CUE Sheet Compressed&amp;quot;, default shortcut : F10&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==The REACT.INI File==&lt;br /&gt;
There are four sections in the REACT.ini file. The first [Settings] section has global definitions that REACT uses. The next three [User...] sections have keys that are simply passed through to the .cfg configurations files. I.e. any KEY=VALUE defines a variable @KEY@ which gets expanded to VALUE in the .cfg files.&lt;br /&gt;
&lt;br /&gt;
Note that you may add arbitrary keys to the [User...] sections, and they will expand to their values when used as variables in the .cfg files.&lt;br /&gt;
&lt;br /&gt;
===Settings Section===&lt;br /&gt;
&lt;br /&gt;
The first section in the INI file sets some global keys, which can be used in any or all encoder configs.  These variables refer to high level settings, like the path to [[Exact Audio Copy|EAC]], rather than encoder-specific settings. Here is an example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Settings]&lt;br /&gt;
Version=2.0&lt;br /&gt;
ImageExt=flac&lt;br /&gt;
ImageNaming=$artist$ - [$year$] $album$&lt;br /&gt;
ImageHotKey={F10}&lt;br /&gt;
TracksHotKey={F4}&lt;br /&gt;
TracksHotVal=+{F5}&lt;br /&gt;
VA=Various Artists&lt;br /&gt;
CreateAllCuesheets=0&lt;br /&gt;
RunCoverDownloader=1&lt;br /&gt;
CoverDownloader=C:\Program Files\REACT2\coverdownloader\albumart.exe&lt;br /&gt;
EAC=C:\Program Files\Exact Audio Copy\EAC.exe&lt;br /&gt;
MinimizeCompressionWindow=1&lt;br /&gt;
ProcessPriority=1&lt;br /&gt;
Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|&#039;|#|[|]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some of the keys are obvious, and some you really don&#039;t need to bother with unless you are a REACT Ninja, but here&#039;s a few to watch out for:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;4&amp;quot;&lt;br /&gt;
! style=padding-right:24px;| Variable || Description&lt;br /&gt;
|-&lt;br /&gt;
| ImageExt || Copy Image mode only (F10). The format extension for the compressed image file + cuefile. E.g. flac, wv, or mp3. Set to wav when no compressed image is desired.&lt;br /&gt;
|-&lt;br /&gt;
| ImageNaming || This variable detirmines how image files, and their cuesheets, will be named when REACT is used in copy image mode.  Variables available are: $album$; $artist$; $year$; $genre$; and $freedb$.  These are populated from the values of EAC&#039;s textboxes, and therefore do not strictly relate to the extended variables available within your config.&amp;lt;br /&amp;gt;&#039;&#039;&#039;Please note:&#039;&#039;&#039; Your scheme &#039;&#039;must&#039;&#039; begin &amp;quot;$artist$ -&amp;quot; in order for Various Artists discs to be recognised properly.&lt;br /&gt;
|-&lt;br /&gt;
| VA || Default set to &#039;Various Artists&#039;. The variable @va@ holds this string. See @cdartist@ below for further details.&lt;br /&gt;
|-&lt;br /&gt;
| CreateAllCuesheets || If set to 1, all four availabe types of cuesheets will be saved to the extraction directory, which must be preconfigured in EAC. The cuesheet base name can be accessed using the @albumfile@ variable.&lt;br /&gt;
|-&lt;br /&gt;
| RunCoverDownloader || If set to 1, run the albumart.exe application. Simply double click the cover you want (select close after save in settings in albumart). In Copy Tracks mode, albumart will wait until it is closed before starting copying. You may set RunCoverDownloader=2 to make it wait in both modes, 3 to wait only in Image Copy mode, or 4 to never wait.&lt;br /&gt;
|-&lt;br /&gt;
| Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt || Some characters cannot be used in file or folder names.  This variable allows you to specify what these characters should be replaced with.  Slash; Backslash; Colon; Question Mark; Bar (Pipe); Quotes; Asterisk; Less Than; Greater Than. It is also possible to convert Space to e.g. _ by appending a Bar and a _ (after the Gt convert character).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===UserTrackFormat Section===&lt;br /&gt;
This section enables/disables output audio formats to be created.&lt;br /&gt;
&lt;br /&gt;
===UserOutputNames Section===&lt;br /&gt;
Here the track names and the output paths are defined for the different output audio formats.&lt;br /&gt;
OutRoot is the common directory used under many file naming schemes. Individual directories and naming schemes for each format are set with respective ImageDir_Flac, TrackDir_AAC, etc. When saving formats to different drives OutRoot must be replaced with address spelled out. &amp;lt;br&amp;gt;&lt;br /&gt;
Different naming schemes are available for Various Artist CDs. see variable options under METADATA&amp;lt;br&amp;gt;&lt;br /&gt;
TrackName_NA - file naming for single artist &amp;lt;br&amp;gt;&lt;br /&gt;
TrackName_VA - file naming for various artist&amp;lt;br&amp;gt;&lt;br /&gt;
TrackName_SA_acdir=$n - $~t - ACDIR is used when ripping an image and splitting it into tracks. It will be passing [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=35158&amp;amp;view=findpost&amp;amp;p=327260 EAC variables] directly through. The tilde [http://nyaochi.sakura.ne.jp/xoops/modules/mysoftwares/tc_2.html replaces illegal filename characters with a space].&amp;lt;br&amp;gt;&lt;br /&gt;
File naming schemes are largely up to personal usage and preference but some examples are&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.teqnilogik.com/tutorials/eac.htm#SettingEACOptions example 1]&lt;br /&gt;
[http://www.hydrogenaudio.org/forums/index.php?showtopic=956 example 2]&lt;br /&gt;
[http://www.hydrogenaudio.org/forums/index.php?showtopic=47558 example 3]&lt;br /&gt;
[http://www.hydrogenaudio.org/forums/index.php?showtopic=31698 example 4]&lt;br /&gt;
&lt;br /&gt;
===UserSettings Section===&lt;br /&gt;
Set various variables for more detailed configuration.&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;4&amp;quot;&lt;br /&gt;
! style=padding-right:24px;| Variable || Description&lt;br /&gt;
|-&lt;br /&gt;
| Debug || If you are having problems with your config file setup, set this value to 1.  REACT will then pause before exiting, so you can examine the console output to attempt to determine where your process fell down. &lt;br /&gt;
|-&lt;br /&gt;
| Comment || Override the default @comment@ variable (taken from EAC)&lt;br /&gt;
|-&lt;br /&gt;
| EmbedCover || Select if you want your cover pictures embeded into the audio files, or only copied to the target directory as &#039;folder.jpg&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| ReplayGain || Enable/Disable ReplayGain calculation and tagging.&lt;br /&gt;
|-&lt;br /&gt;
| ApplyAlbumGain || Apply the album gain to the files, so they are played back with a consistent volume across the albums on every player.&lt;br /&gt;
|-&lt;br /&gt;
| AdjustAlbumGain_dB || If you want to adjust the album gain from 89.0 dB when applying to the audio, set adjustment in dB here.&lt;br /&gt;
|-&lt;br /&gt;
| AddCuesheetAG || Add Album gain/Album peak values to the cuesheet as REM lines. This implies that WaveGain is ran.&lt;br /&gt;
|-&lt;br /&gt;
| UseWaveGainAG || Instruct to use WaveGain to calculate AlbumGain values on the wav image file. The values will be transferred to the various compressed formats, rather than calculating them via other tools. If ApplyAlbumGain=1, LAME and OggEnc2 will use the --scale option to apply the album gain scale factor calculated by WaveGain.&lt;br /&gt;
|-&lt;br /&gt;
| Opt_... || Variables that defines options for each encoder used.&lt;br /&gt;
|-&lt;br /&gt;
| Ver_... || Variables that defines the version number for each encoder used.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Editing the CFG files (advanced)==&lt;br /&gt;
Because most of the configuration settings are moved to the INI file, it is seldom required to modify the .cfg files. Only advanced users that knows DOS scripting well should attempt to make significant changes. Following are the replacement variables available (excluding those defined in the [User...] sections of the INI file):&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;4&amp;quot;&lt;br /&gt;
! style=padding-right:24px;| Variable || Description&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PATHS AND FILES&#039;&#039;&#039; || &lt;br /&gt;
|-&lt;br /&gt;
| @reactdir@ || The path to the directory in which REACT resides&lt;br /&gt;
|-&lt;br /&gt;
| @tools@ || The path to the directory in which the encoders reside. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @mymusic@ || The path to your &#039;My Music&#039; folder&lt;br /&gt;
|-&lt;br /&gt;
| @sourcedir@ || The path to the folder in which the copied source files are located ([[WAV]]/LOG/CUE)&lt;br /&gt;
|-&lt;br /&gt;
| @basename@ || The name of the file being created, excluding folders and extension &lt;br /&gt;
|-&lt;br /&gt;
| @source@ || The path to the temporary source [[WAV|WAVE]] file&lt;br /&gt;
|-&lt;br /&gt;
| @image@ || The path to the final image file, when used in &#039;&#039;&#039;Copy Image&#039;&#039;&#039; mode&lt;br /&gt;
|-&lt;br /&gt;
| @imageext@ || The extension of the compressed target image, e.g. flac&lt;br /&gt;
|-&lt;br /&gt;
| @sourcecuesheet@ || The path to the (temporary) source [[Cuesheet|cuesheet]], when used in &#039;&#039;&#039;Copy Image&#039;&#039;&#039; mode&lt;br /&gt;
|-&lt;br /&gt;
| @cuesheet@ || The path to the final [[Cuesheet|cuesheet]], when used in &#039;&#039;&#039;Copy Image&#039;&#039;&#039; mode&lt;br /&gt;
|-&lt;br /&gt;
| @eaclog@ || The path to the log file created by [[Exact Audio Copy|EAC]]&lt;br /&gt;
|-&lt;br /&gt;
| @cover@ || The path to the cover/album art picture file, dowloaded with CoverDownloader.&lt;br /&gt;
|-&lt;br /&gt;
| @albumfile@ || The base path to the cuesheet files without extension, created when CreateAllCuesheets=1 in the INI file. E.g, &amp;quot;@albumfile@.[mg].cue&amp;quot; is the multiple wav files cuesheet with gaps. &lt;br /&gt;
|-&lt;br /&gt;
|  || &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;METADATA&#039;&#039;&#039; || &lt;br /&gt;
|-&lt;br /&gt;
| @cdartist@ || The name of the CD artist. If @various@=1 @cdartist@ equals the variable @va@, otherwise @artist@. Use $cdartist$ in file paths&lt;br /&gt;
|-&lt;br /&gt;
| @artist@ || The name of the track artist.  Use $artist$ in paths&lt;br /&gt;
|-&lt;br /&gt;
| @album@ || The name of the album.  Use $album$ in paths&lt;br /&gt;
|-&lt;br /&gt;
| @title@ || The song title.  Use $title$ in paths&lt;br /&gt;
|-&lt;br /&gt;
| @track@ || The track number. Use $track$ to zero-pad the track number, i.e.: turn 9 into 09 &lt;br /&gt;
|-&lt;br /&gt;
| @numtracks@ || The total number of tracks. Use $numtracks$ to zero-pad the number&lt;br /&gt;
|-&lt;br /&gt;
| @genre@ || The album genre.  Use $genre$ in paths&lt;br /&gt;
|-&lt;br /&gt;
| @year@ || The album year&lt;br /&gt;
|-&lt;br /&gt;
| @comment@ || The comment.  Use $comment$ in paths&lt;br /&gt;
|-&lt;br /&gt;
| @freedbid@ || The [[freedb]] ID&lt;br /&gt;
|-&lt;br /&gt;
|  || &lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;OTHER&#039;&#039;&#039; || &lt;br /&gt;
|-&lt;br /&gt;
| @various@ || Is 1 if the EAC &#039;Various&#039; checkbox was checked. Otherwise 0&lt;br /&gt;
|-&lt;br /&gt;
| @va@ || The name of VariousArtist. Default &#039;Various Artists&#039;.&lt;br /&gt;
|-&lt;br /&gt;
| @crc@ || The [[CRC]] of the file&lt;br /&gt;
|-&lt;br /&gt;
| @bitrate@ || The value of the &#039;&#039;&#039;Bitrate&#039;&#039;&#039; dropdown on EAC&#039;s External Compressor  dialogue&lt;br /&gt;
|-&lt;br /&gt;
| @curdate@ || The current date&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&lt;br /&gt;
Ask REACT questions in this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=50273&lt;br /&gt;
&lt;br /&gt;
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=50259&lt;br /&gt;
&lt;br /&gt;
Download [[User:Synthetic Soul|Synthetic Soul&#039;s]] mod (for EAC 0.99 support and more) from this page : [[REACT:Mods]]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=18265</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=18265"/>
		<updated>2008-02-04T09:44:42Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Updated to 2.0.ssb16p&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16i, 12/11/07&lt;br /&gt;
* Fixed a bug with &amp;lt;code&amp;gt;CreateAllCuesheets&amp;lt;/code&amp;gt; when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529370 post] ).&lt;br /&gt;
* Reinstated &amp;lt;code&amp;gt;TracksHotVal&amp;lt;/code&amp;gt;, after unwittingly removing the functionality.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16j, 14/11/07&lt;br /&gt;
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16k, 16/11/07&lt;br /&gt;
* Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line.  ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530101 post] ).&lt;br /&gt;
* UserOutputNames INI section no longer escaped, so you can again use Window&#039;s tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530166 post] ).&lt;br /&gt;
* REACT now checks that EAC is the active window before sending the commands to create the four cuesheets. &lt;br /&gt;
&lt;br /&gt;
2.0.ssb16l, 19/11/07&lt;br /&gt;
* Log file name in track mode now, finally, calculated correctly.&lt;br /&gt;
* The &amp;lt;code&amp;gt;RunCoverDownloader&amp;lt;/code&amp;gt; values as documented in [[REACT|the wiki page]] should now work as expected.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16m, 28/11/07&lt;br /&gt;
* The number of tracks to process is now calculated from a cuesheet in track mode.&lt;br /&gt;
* Expanded CreateAllCuesheets code to notify the user if a problem occurs.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16n, 30/11/07&lt;br /&gt;
* Added Akkurat&#039;s improvements to the CreateAllCuesheets processing.&lt;br /&gt;
* Added nago&#039;s multi-thread amendments.&lt;br /&gt;
* Updated configs and INI are now included in the download.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16o, 29/01/08&lt;br /&gt;
* Fixed a bug regarding track-level tokens with double-digit track numbers.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16p, 02/02/08&lt;br /&gt;
* Fixed a bug with backslashes in additional meta data not being written to cuesheets.&lt;br /&gt;
* Double quotes in additional meta data are now converted to apostrophes when written to the batch file.&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16p.zip REACT 2.0.ssb16p]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=18253</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=18253"/>
		<updated>2008-01-29T11:05:45Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Updated to 2.0.ssb16o&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16i, 12/11/07&lt;br /&gt;
* Fixed a bug with &amp;lt;code&amp;gt;CreateAllCuesheets&amp;lt;/code&amp;gt; when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529370 post] ).&lt;br /&gt;
* Reinstated &amp;lt;code&amp;gt;TracksHotVal&amp;lt;/code&amp;gt;, after unwittingly removing the functionality.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16j, 14/11/07&lt;br /&gt;
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16k, 16/11/07&lt;br /&gt;
* Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line.  ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530101 post] ).&lt;br /&gt;
* UserOutputNames INI section no longer escaped, so you can again use Window&#039;s tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530166 post] ).&lt;br /&gt;
* REACT now checks that EAC is the active window before sending the commands to create the four cuesheets. &lt;br /&gt;
&lt;br /&gt;
2.0.ssb16l, 19/11/07&lt;br /&gt;
* Log file name in track mode now, finally, calculated correctly.&lt;br /&gt;
* The &amp;lt;code&amp;gt;RunCoverDownloader&amp;lt;/code&amp;gt; values as documented in [[REACT|the wiki page]] should now work as expected.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16m, 28/11/07&lt;br /&gt;
* The number of tracks to process is now calculated from a cuesheet in track mode.&lt;br /&gt;
* Expanded CreateAllCuesheets code to notify the user if a problem occurs.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16n, 30/11/07&lt;br /&gt;
* Added Akkurat&#039;s improvements to the CreateAllCuesheets processing.&lt;br /&gt;
* Added nago&#039;s multi-thread amendments.&lt;br /&gt;
* Updated configs and INI are now included in the download.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16o, 29/01/08&lt;br /&gt;
* Fixed a bug regarding track-level tokens with double-digit track numbers.&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16o.zip REACT 2.0.ssb16o]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=TAK&amp;diff=18194</id>
		<title>TAK</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=TAK&amp;diff=18194"/>
		<updated>2008-01-18T14:26:27Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Codec Infobox&lt;br /&gt;
| name = Tom&#039;s lossless Audio Kompressor&lt;br /&gt;
| logo =&lt;br /&gt;
| type = lossless&lt;br /&gt;
| purpose = lossless audio compression.&lt;br /&gt;
| maintainer = Thomas Becker&lt;br /&gt;
| recommended_encoder = TAK encoder&lt;br /&gt;
| recommended_text = TAK v1.0.3&lt;br /&gt;
| website = [http://thbeck.de/Tak/Tak.html ThBeck.de/Tak/Tak.html] &#039;&#039;(german)&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;Tom&#039;s lossless Audio Kompressor&#039;&#039;&#039; (&#039;&#039;&#039;TAK&#039;&#039;&#039;) is a lossless audio compressor which promises compression performance similar to [[Monkey&#039;s Audio]] “High” and decompression speed similar to [[Free Lossless Audio Codec|FLAC]].&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* High compression&lt;br /&gt;
* Fast compression and decompression speed&lt;br /&gt;
* Streaming support (necessary headers for decompressing the audio are written to the stream every 2 seconds)&lt;br /&gt;
* Piping support for encoding&lt;br /&gt;
* Error tolerance (single bit error will never affect more than 250 ms)&lt;br /&gt;
* Error detection (each frame protected by a 24-bit checksum (CRC))&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Fast encoding speed (while providing better compression TAK encodes as fast as [[Free Lossless Audio Codec|FLAC]] -8 in TAK&#039;s “Insane” and several times faster in “Turbo” mode)&lt;br /&gt;
* Fast decompression speed (on par with FLAC / [[WavPack]])&lt;br /&gt;
* Good compression levels (on par with [[Monkey&#039;s Audio]] High)&lt;br /&gt;
* Error Robustness&lt;br /&gt;
* Fast Seeking&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* Closed Source (at the moment)&lt;br /&gt;
* No hardware support&lt;br /&gt;
* Very limited software support (playback: [[Winamp]] &amp;amp; [[foobar2000]] plugins, tagging: Mp3Tag)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and Software That Support TAK ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* None&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
==== Windows ====&lt;br /&gt;
* TAK SDK 1.0.5 – Software Development Kit for TAK [http://www.hydrogenaudio.org/forums/index.php?showtopic=54159 here]&lt;br /&gt;
* Winamp Plugin 1.0.7 [http://www.hydrogenaudio.org/forums/index.php?showtopic=54159 here]&lt;br /&gt;
* foo_input_tak, TAK decoder for [[foobar2000]] [http://www.hydrogenaudio.org/forums/index.php?showtopic=54087 here] (supports tagging and [[Replay Gain]])&lt;br /&gt;
* [[Mp3tag]] – universal tag editor with support for TAK&lt;br /&gt;
* shntool (since version 3.0.6)&lt;br /&gt;
&lt;br /&gt;
==== Linux ====&lt;br /&gt;
* The TAK reference applications (GUI as well as commandline) are known to run on Linux via Wine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Recommended Settings ==&lt;br /&gt;
* Default compression: “-p2” (formerly &#039;&#039;Normal&#039;&#039;) is the most attractive setting, providing an excellent compromise between compression and encoding speed. (At compression levels close to [[Monkey&#039;s Audio]] High (&amp;lt;0.4% difference), it is able to encode more quickly.)&lt;br /&gt;
 takc -e [input file]&lt;br /&gt;
* Highest compression: “-pMax” (same as -p5m) (This will create files which are comparable in size to file created using [[Monkey&#039;s Audio]] High. Decompression speed is comparable to [[WavPack]] Normal.)&lt;br /&gt;
 takc -e -pMax [input file]&lt;br /&gt;
* Fastest compression: “-p0” (This will create files which are comparable in size to [[Monkey&#039;s Audio]] Fast or [[WavPack]] High. Decompression speed is comparable to [[Free Lossless Audio Codec|FLAC]] 0.)&lt;br /&gt;
 takc -e -p0 [input file]&lt;br /&gt;
&lt;br /&gt;
=== TAK Performance Graph ===&lt;br /&gt;
[[Image:TAK_performance_graph.png|frame|center|Graph showing encoding and decoding rate against compression, using data from Synthetic Soul&#039;s test on TAK 1.0.1&amp;lt;br /&amp;gt;(see [[TAK#External Links|External Links]])]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using TAK ==&lt;br /&gt;
=== TAK with [[foobar2000]] ===&lt;br /&gt;
* Copy the takc.exe to your [[foobar2000]] directory&lt;br /&gt;
* Go to File → Preferences → Tools → Converter&lt;br /&gt;
* Set it up as shown:&lt;br /&gt;
[[Image:Tak_foobar_converter.png|frame|center|Screenshot of foobar 0.9.5 Converter settings for TAK 1.0.3]]&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; replace -p2 with the desired compression level.&lt;br /&gt;
&lt;br /&gt;
* TAK introduced encoding from STDIN in version 1.0.3, eliminating the need for a temporary file and greatly improving overall compression time. If you are using an earlier version of TAK use the following command line instead:&lt;br /&gt;
 -e -p2 %s %d&lt;br /&gt;
* Use [[APEv2 specification|APEv2]] tagging (will be used as internal tagging)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TAK with EAC ===&lt;br /&gt;
Please read the [[EAC and TAK|wiki guide]], which details how to create TAK files with [[Exact Audio Copy|EAC]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future Features ==&lt;br /&gt;
* Unicode support&lt;br /&gt;
* MD5 audio checksums for verification and identification&lt;br /&gt;
* A German version&lt;br /&gt;
* Embedded cue sheets&lt;br /&gt;
* Embedded cover art&lt;br /&gt;
* Multichannel audio&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
; Is the codec safe for use?&lt;br /&gt;
: Yes. To check, convert a WAVE to TAK and back and compare the two (or use foobar&#039;s bitcompare tool).&lt;br /&gt;
; Why should I use TAK?&lt;br /&gt;
: TAK offers high compression ratios with great decoding rates.&lt;br /&gt;
; What can I compress with TAK?&lt;br /&gt;
: TAK 1.0 can compress any integer-format (up to 24 bits per channel) PCM RIFF WAVE file (.wav). Piping support as of v1.0.3 is implemented, so converting lossless files to WAV first is not necessary.&lt;br /&gt;
; What about hardware support?&lt;br /&gt;
: None at the moment. Although, &#039;&#039;-p0 (Turbo)&#039;&#039;, &#039;&#039;-p1 (Fast)&#039;&#039; and &#039;&#039;-p2 (Normal)&#039;&#039; are the candidates for hardware playback.&lt;br /&gt;
; When will the source be opened?&lt;br /&gt;
: Yes, TAK will be open-source, as soon as the code is ported to C or C++ and documented. However, Thomas has mentioned that he would like to improve the codec before opening the source.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://thbeck.de/Tak/Tak.html thbeck.de/Tak/Tak.html] – Official Website &#039;&#039;(german)&#039;&#039;&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=54160 TAK Release Announcement / Discussion Thread on HA] &#039;&#039;(english)&#039;&#039;&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=54159 TAK Downloads]&lt;br /&gt;
* [http://synthetic-soul.co.uk/comparison/lossless/ synthetic-soul.co.uk/comparison/lossless] – Comparison with Other Codecs (by Synthetic Soul)&lt;br /&gt;
* [http://flac.sourceforge.net/comparison.html flac.sourceforge.net/comparison.html] – An Updated Comparison (from FLAC Homepage)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Lossless]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=TAK&amp;diff=18193</id>
		<title>TAK</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=TAK&amp;diff=18193"/>
		<updated>2008-01-18T14:25:30Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Updated TAK with fooabr section (mainly the screenshot)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Codec Infobox&lt;br /&gt;
| name = Tom&#039;s lossless Audio Kompressor&lt;br /&gt;
| logo =&lt;br /&gt;
| type = lossless&lt;br /&gt;
| purpose = lossless audio compression.&lt;br /&gt;
| maintainer = Thomas Becker&lt;br /&gt;
| recommended_encoder = TAK encoder&lt;br /&gt;
| recommended_text = TAK v1.0.3&lt;br /&gt;
| website = [http://thbeck.de/Tak/Tak.html ThBeck.de/Tak/Tak.html] &#039;&#039;(german)&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&#039;&#039;&#039;Tom&#039;s lossless Audio Kompressor&#039;&#039;&#039; (&#039;&#039;&#039;TAK&#039;&#039;&#039;) is a lossless audio compressor which promises compression performance similar to [[Monkey&#039;s Audio]] “High” and decompression speed similar to [[Free Lossless Audio Codec|FLAC]].&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* High compression&lt;br /&gt;
* Fast compression and decompression speed&lt;br /&gt;
* Streaming support (necessary headers for decompressing the audio are written to the stream every 2 seconds)&lt;br /&gt;
* Piping support for encoding&lt;br /&gt;
* Error tolerance (single bit error will never affect more than 250 ms)&lt;br /&gt;
* Error detection (each frame protected by a 24-bit checksum (CRC))&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Fast encoding speed (while providing better compression TAK encodes as fast as [[Free Lossless Audio Codec|FLAC]] -8 in TAK&#039;s “Insane” and several times faster in “Turbo” mode)&lt;br /&gt;
* Fast decompression speed (on par with FLAC / [[WavPack]])&lt;br /&gt;
* Good compression levels (on par with [[Monkey&#039;s Audio]] High)&lt;br /&gt;
* Error Robustness&lt;br /&gt;
* Fast Seeking&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* Closed Source (at the moment)&lt;br /&gt;
* No hardware support&lt;br /&gt;
* Very limited software support (playback: [[Winamp]] &amp;amp; [[foobar2000]] plugins, tagging: Mp3Tag)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and Software That Support TAK ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
* None&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
==== Windows ====&lt;br /&gt;
* TAK SDK 1.0.5 – Software Development Kit for TAK [http://www.hydrogenaudio.org/forums/index.php?showtopic=54159 here]&lt;br /&gt;
* Winamp Plugin 1.0.7 [http://www.hydrogenaudio.org/forums/index.php?showtopic=54159 here]&lt;br /&gt;
* foo_input_tak, TAK decoder for [[foobar2000]] [http://www.hydrogenaudio.org/forums/index.php?showtopic=54087 here] (supports tagging and [[Replay Gain]])&lt;br /&gt;
* [[Mp3tag]] – universal tag editor with support for TAK&lt;br /&gt;
* shntool (since version 3.0.6)&lt;br /&gt;
&lt;br /&gt;
==== Linux ====&lt;br /&gt;
* The TAK reference applications (GUI as well as commandline) are known to run on Linux via Wine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Recommended Settings ==&lt;br /&gt;
* Default compression: “-p2” (formerly &#039;&#039;Normal&#039;&#039;) is the most attractive setting, providing an excellent compromise between compression and encoding speed. (At compression levels close to [[Monkey&#039;s Audio]] High (&amp;lt;0.4% difference), it is able to encode more quickly.)&lt;br /&gt;
 takc -e [input file]&lt;br /&gt;
* Highest compression: “-pMax” (same as -p5m) (This will create files which are comparable in size to file created using [[Monkey&#039;s Audio]] High. Decompression speed is comparable to [[WavPack]] Normal.)&lt;br /&gt;
 takc -e -pMax [input file]&lt;br /&gt;
* Fastest compression: “-p0” (This will create files which are comparable in size to [[Monkey&#039;s Audio]] Fast or [[WavPack]] High. Decompression speed is comparable to [[Free Lossless Audio Codec|FLAC]] 0.)&lt;br /&gt;
 takc -e -p0 [input file]&lt;br /&gt;
&lt;br /&gt;
=== TAK Performance Graph ===&lt;br /&gt;
[[Image:TAK_performance_graph.png|frame|center|Graph showing encoding and decoding rate against compression, using data from Synthetic Soul&#039;s test on TAK 1.0.1&amp;lt;br /&amp;gt;(see [[TAK#External Links|External Links]])]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using TAK ==&lt;br /&gt;
=== TAK with [[foobar2000]] ===&lt;br /&gt;
* Copy the takc.exe to your [[foobar2000]] directory&lt;br /&gt;
* Go to File → Preferences → Tools → Converter&lt;br /&gt;
* Set it up as shown:&lt;br /&gt;
[[Image:Tak_foobar_converter.png|frame|center|Screenshot of foobar 0.9.5 Converter settings for TAK 1.0.3]]&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; replace -p2 with the desired compression level.&lt;br /&gt;
&lt;br /&gt;
* TAK introduced encoding from STDIN in version 1.0.3, eliminating the need for a temporary file and greatly improving overall compression time. If you are using an earlier version of TAK use the following command line instead:&lt;br /&gt;
 -e -p2 %s %d.&lt;br /&gt;
* Use [[APEv2 specification|APEv2]] tagging (will be used as internal tagging)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TAK with EAC ===&lt;br /&gt;
Please read the [[EAC and TAK|wiki guide]], which details how to create TAK files with [[Exact Audio Copy|EAC]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Future Features ==&lt;br /&gt;
* Unicode support&lt;br /&gt;
* MD5 audio checksums for verification and identification&lt;br /&gt;
* A German version&lt;br /&gt;
* Embedded cue sheets&lt;br /&gt;
* Embedded cover art&lt;br /&gt;
* Multichannel audio&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
; Is the codec safe for use?&lt;br /&gt;
: Yes. To check, convert a WAVE to TAK and back and compare the two (or use foobar&#039;s bitcompare tool).&lt;br /&gt;
; Why should I use TAK?&lt;br /&gt;
: TAK offers high compression ratios with great decoding rates.&lt;br /&gt;
; What can I compress with TAK?&lt;br /&gt;
: TAK 1.0 can compress any integer-format (up to 24 bits per channel) PCM RIFF WAVE file (.wav). Piping support as of v1.0.3 is implemented, so converting lossless files to WAV first is not necessary.&lt;br /&gt;
; What about hardware support?&lt;br /&gt;
: None at the moment. Although, &#039;&#039;-p0 (Turbo)&#039;&#039;, &#039;&#039;-p1 (Fast)&#039;&#039; and &#039;&#039;-p2 (Normal)&#039;&#039; are the candidates for hardware playback.&lt;br /&gt;
; When will the source be opened?&lt;br /&gt;
: Yes, TAK will be open-source, as soon as the code is ported to C or C++ and documented. However, Thomas has mentioned that he would like to improve the codec before opening the source.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://thbeck.de/Tak/Tak.html thbeck.de/Tak/Tak.html] – Official Website &#039;&#039;(german)&#039;&#039;&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=54160 TAK Release Announcement / Discussion Thread on HA] &#039;&#039;(english)&#039;&#039;&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=54159 TAK Downloads]&lt;br /&gt;
* [http://synthetic-soul.co.uk/comparison/lossless/ synthetic-soul.co.uk/comparison/lossless] – Comparison with Other Codecs (by Synthetic Soul)&lt;br /&gt;
* [http://flac.sourceforge.net/comparison.html flac.sourceforge.net/comparison.html] – An Updated Comparison (from FLAC Homepage)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Lossless]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=File:Tak_foobar_converter.png&amp;diff=18192</id>
		<title>File:Tak foobar converter.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=File:Tak_foobar_converter.png&amp;diff=18192"/>
		<updated>2008-01-18T14:18:49Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Screenshot of foobar 0.9.5 Converter settings for TAK 1.0.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of foobar 0.9.5 Converter settings for TAK 1.0.3&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Amending_Cuesheet_File_References&amp;diff=18191</id>
		<title>REACT:Amending Cuesheet File References</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Amending_Cuesheet_File_References&amp;diff=18191"/>
		<updated>2008-01-18T11:06:46Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[REACT]] to rip to individual tracks you can request all cuesheets to be created, by specifying the following in REACT.ini:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CreateAllCuesheets=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create the following files in the working directory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[s].cue&amp;quot;&#039;&#039;&#039; (Single WAVE file)&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[mg].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with gaps (non-compliant))&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[m].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with gaps left out)&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[mc].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with corrected gaps)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The multi-file cuesheets will reference the tracks using the filename format set in [[EAC]], which should be &amp;quot;$cdartist$ - $album$ - $track$ - $title$&amp;quot; for standard albums, and specifying a &amp;quot;.wav&amp;quot; extension.  However, this is unlikely to be the format that your track files are actually in, which means that the cuesheet will need to be amended in order to be useful.&lt;br /&gt;
&lt;br /&gt;
Below, you will find example code for two solutions, using two different tools.  &#039;&#039;&#039;You are recommended to use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] for this purpose&#039;&#039;&#039;, as certain special characters, e.g.: the ampersand, if used in your filenames, may cause problems when using [http://gnuwin32.sourceforge.net/packages/sed.htm SED].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using GSAR==&lt;br /&gt;
&lt;br /&gt;
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files.  This is achieved in the following way:&lt;br /&gt;
&lt;br /&gt;
# When the first track is processed the cuesheet will be copied to a new cuesheet file named &amp;quot;$cdartist$ - $album$.cue&amp;quot;. A batch command, settting the correct codepage, is written to a temporary batch file called &amp;quot;update-cuesheet.bat&amp;quot;.&lt;br /&gt;
# Every time a track is processed, a GSAR command, to replace that track&#039;s filename, is written to the temporary batch file.&lt;br /&gt;
# When the last track is processed, a GSAR command is executed to escape percent signs (%) in the temporary batch file.&lt;br /&gt;
# The temporary batch file is executed, executing a GSAR command for each track.&lt;br /&gt;
# The file &amp;quot;update-cuesheet.bat&amp;quot; is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating the GSAR commands for each track&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using for each track:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET trackCueFile=&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
IF NOT EXIST %trackCueFile% (&lt;br /&gt;
    COPY &amp;quot;@albumfile@.[mg].cue&amp;quot; %trackCueFile%&lt;br /&gt;
    ECHO CHCP 1252 ^| PROMPT&amp;gt;&amp;gt;update-cuesheet.bat&lt;br /&gt;
)&lt;br /&gt;
ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot; &amp;quot;-r%TrackName%.wv&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here it is in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks&lt;br /&gt;
    IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF @various@==1 SET VA_tag=-w &amp;quot;album artist=@VA@&amp;quot;&lt;br /&gt;
        ECHO ON&lt;br /&gt;
        @tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist=&amp;quot;@artist@&amp;quot; -w album=&amp;quot;@album@&amp;quot; -w track=&amp;quot;@track@/@numtracks@&amp;quot; -w title=&amp;quot;@title@&amp;quot; -w year=&amp;quot;@year@&amp;quot; -w genre=&amp;quot;@genre@&amp;quot; -w comment=&amp;quot;@comment@&amp;quot; -w encodedby=&amp;quot;%USERNAME%&amp;quot; -w encodersettings=&amp;quot;Wavpack @Ver_Wavpack@ @Opt_Wavpack@&amp;quot; &amp;quot;@source@&amp;quot; &amp;quot;%TrackName%.wv&amp;quot;&lt;br /&gt;
        @ECHO OFF&lt;br /&gt;
        SET trackCueFile=&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
        IF NOT EXIST %trackCueFile% (&lt;br /&gt;
            COPY &amp;quot;@albumfile@.[mg].cue&amp;quot; %trackCueFile%&lt;br /&gt;
            ECHO CHCP 1252 ^| PROMPT&amp;gt;&amp;gt;update-cuesheet.bat&lt;br /&gt;
        )&lt;br /&gt;
        ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot; &amp;quot;-r%TrackName%.wv&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&lt;br /&gt;
        IF %have_cover%==1 IF NOT EXIST folder.jpg COPY &amp;quot;@cover@&amp;quot; folder.jpg&lt;br /&gt;
        TITLE @track@/@numtracks@ - &amp;quot;@album@&amp;quot;&lt;br /&gt;
    POPD&lt;br /&gt;
:end_wavpack_tracks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the extension (&amp;quot;wv&amp;quot;) will need to be changed depending on the format that you are using.  Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot;&amp;quot;&amp;quot; WAVE&amp;quot; &amp;quot;-r%TrackName%.mp3&amp;quot;&amp;quot;&amp;quot; MP3&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, note that the example uses the &amp;quot;multiple WAVE files with gaps (non-compliant)&amp;quot; cuesheet as its source.  This is the cuesheet that most users would require; however you can replace &amp;quot;@albumfile@.[mg].cue&amp;quot; with &amp;quot;@albumfile@.[m].cue&amp;quot; or &amp;quot;@albumfile@.[mc].cue&amp;quot; if you wish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Executing the batch file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using at the end of the config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat&lt;br /&gt;
CALL update-cuesheet.bat&lt;br /&gt;
DEL update-cuesheet.bat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here they are in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF @Wavpack@==1 (&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF %add_rg%==1 @tools@\wvgain.exe -a *.wv&lt;br /&gt;
        REM COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
        @tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat&lt;br /&gt;
        CALL update-cuesheet.bat&lt;br /&gt;
        DEL update-cuesheet.bat&lt;br /&gt;
    POPD&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These three lines are universal, and can be added to any format&#039;s section with no need for change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], and put the executable in your [[REACT]] tools directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Using GSAR For Other Requirements===&lt;br /&gt;
&lt;br /&gt;
If you will be using GSAR for other string replacement in your config, you may need to ensure that two characters are escaped before creating your GSAR command line.&lt;br /&gt;
&lt;br /&gt;
If you are dealing solely with filenames, as in the section above, you do not need to worry: these are both illegal filename characters and therefore cannot possibly raise an issue.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If you are not dealing solely in filenames&#039;&#039;&#039;, you will need to ensure that any double quotes (&amp;quot;) and colons (:) are escaped.  Double quotes may be escaped by replacing one instance with three (&amp;quot; -&amp;gt; &amp;quot;&amp;quot;&amp;quot;) or by replacing it with the correct character code (&amp;quot; -&amp;gt; :034 (decimal) or &amp;quot; -&amp;gt; :x22 (hex)).  Colons should be escaped by prefixing with another colon. (: -&amp;gt; ::)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E.g.: If your string is as follows:&lt;br /&gt;
&lt;br /&gt;
 A Test: using &amp;quot;both&amp;quot; characters&lt;br /&gt;
&lt;br /&gt;
... any of the lines below may be used in its place:&lt;br /&gt;
&lt;br /&gt;
 A Test:: using &amp;quot;&amp;quot;&amp;quot;both&amp;quot;&amp;quot;&amp;quot;&amp;quot; characters&lt;br /&gt;
 A Test:: using :034both:034 characters&lt;br /&gt;
 A Test:: using :x22both:x22 characters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is some example code to escape an existing batch file variable, &amp;quot;myVar&amp;quot;, before passing it to GSAR:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET myVar=%myVar::=::%&lt;br /&gt;
SET myVar=%myVar:&amp;quot;=:x22%&lt;br /&gt;
&lt;br /&gt;
@tools@\GSAR.EXE &amp;quot;-sSome Existing Text&amp;quot; &amp;quot;-r%myVar%&amp;quot; -o myfile.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Using GSAR to Escape Percent Signs Written to Batch Files====&lt;br /&gt;
&lt;br /&gt;
When using a percent sign in your config it must be escaped like so: %%.  This ensures that it is not mistaken for the beginning of a batch file variable (e.g.: %myVar%).&lt;br /&gt;
&lt;br /&gt;
If your config needs to create and execute a batch file on the fly, as the example in [[REACT:Amending_Cuesheet_File_References#Using_GSAR|Using GSAR]] does, you will need to re-escape any percent signs, as the act of writing the batch file will unescape any written.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], before executing your batch file, to ensure that all percent signs written to the file are properly escaped.&lt;br /&gt;
&lt;br /&gt;
 GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat&lt;br /&gt;
&lt;br /&gt;
This command will escape all percent signs (% -&amp;gt; %%) in the file &amp;quot;update-cuesheet.bat&amp;quot;. The -o switch tells GSAR to overwrite the file, rather than write the amended text to a new file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using SED==&lt;br /&gt;
&lt;br /&gt;
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/sed.htm SED] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files.  This is achieved in the following way:&lt;br /&gt;
&lt;br /&gt;
# Every time a track is processed a SED command, to replace that track&#039;s filename, is written to a temporary text file called &amp;quot;sedlist.txt&amp;quot;.&lt;br /&gt;
# When the last track is processed this file is passed to SED which executes each command on the cuesheet text, and writes the new text to a new cuesheet file named &amp;quot;$cdartist$ - $album$.cue&amp;quot;.&lt;br /&gt;
# The file &amp;quot;sedlist.txt&amp;quot; is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Writing the SED commands for each track&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following line needs to be added to the code which is run for the format you are using for each track:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot;/FILE &amp;quot;%TrackName%\.wv&amp;quot;/&amp;gt;&amp;gt;sedlist.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here it is in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks&lt;br /&gt;
    IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF @various@==1 SET VA_tag=-w &amp;quot;album artist=@VA@&amp;quot;&lt;br /&gt;
        ECHO ON&lt;br /&gt;
        @tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist=&amp;quot;@artist@&amp;quot; -w album=&amp;quot;@album@&amp;quot; -w track=&amp;quot;@track@/@numtracks@&amp;quot; -w title=&amp;quot;@title@&amp;quot; -w year=&amp;quot;@year@&amp;quot; -w genre=&amp;quot;@genre@&amp;quot; -w comment=&amp;quot;@comment@&amp;quot; -w encodedby=&amp;quot;%USERNAME%&amp;quot; -w encodersettings=&amp;quot;Wavpack @Ver_Wavpack@ @Opt_Wavpack@&amp;quot; &amp;quot;@source@&amp;quot; &amp;quot;%TrackName%.wv&amp;quot;&lt;br /&gt;
        ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot;/FILE &amp;quot;%TrackName%\.wv&amp;quot;/&amp;gt;&amp;gt;sedlist.txt&lt;br /&gt;
        @ECHO OFF&lt;br /&gt;
        IF %have_cover%==1 IF NOT EXIST folder.jpg COPY &amp;quot;@cover@&amp;quot; folder.jpg&lt;br /&gt;
        TITLE @track@/@numtracks@ - &amp;quot;@album@&amp;quot;&lt;br /&gt;
    POPD&lt;br /&gt;
:end_wavpack_tracks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the extension (&amp;quot;wv&amp;quot;) will need to be changed depending on the format that you are using.  Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot; WAVE/FILE &amp;quot;%TrackName%\.mp3&amp;quot; MP3/&amp;gt;&amp;gt;sedlist.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Executing SED&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using at the end of the config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@tools@\SED -f sedlist.txt &amp;lt;&amp;quot;@albumfile@.[mg].cue&amp;quot; &amp;gt;&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
DEL sedlist.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here they are in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF @Wavpack@==1 (&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF %add_rg%==1 @tools@\wvgain.exe -a *.wv&lt;br /&gt;
        REM COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
        @tools@\SED -f sedlist.txt &amp;lt;&amp;quot;@albumfile@.[mg].cue&amp;quot; &amp;gt;&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
        DEL sedlist.txt&lt;br /&gt;
    POPD&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These two lines are universal, and can be added to any format&#039;s section with no need for change.  Note though, that the example uses the &amp;quot;multiple WAVE files with gaps (non-compliant)&amp;quot; cuesheet as its source.  This is the cuesheet that most users would require; however you can replace &amp;quot;@albumfile@.[mg].cue&amp;quot; with &amp;quot;@albumfile@.[m].cue&amp;quot; or &amp;quot;@albumfile@.[mc].cue&amp;quot; if you wish.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/sed.htm SED], including its dependencies (&amp;quot;libintl3.dll&amp;quot; and &amp;quot;libiconv2.dll&amp;quot;), and put all three files in your [[REACT]] tools directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related Thread==&lt;br /&gt;
This tip is a result of a string of posts between lipidicman and [[User:Synthetic Soul|Synthetic Soul]] in the [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 thread] beginning with [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=483839 this post].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Amending Cuesheet File References]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Amending_Cuesheet_File_References&amp;diff=18190</id>
		<title>REACT:Amending Cuesheet File References</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Amending_Cuesheet_File_References&amp;diff=18190"/>
		<updated>2008-01-18T10:03:52Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Grammar, missing text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[REACT]] to rip to individual tracks you can request all cuesheets to be created, by specifying the following in REACT.ini:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CreateAllCuesheets=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create the following files in the working directory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[s].cue&amp;quot;&#039;&#039;&#039; (Single WAVE file)&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[mg].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with gaps (non-compliant))&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[m].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with gaps left out)&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[mc].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with corrected gaps)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The multi-file cuesheets will reference the tracks using the filename format set in [[EAC]], which should be &amp;quot;$cdartist$ - $album$ - $track$ - $title$&amp;quot; for standard albums, and specifying a &amp;quot;.wav&amp;quot; extension.  However, this is unlikely to be the format that your track files are actually in, which means that the cuesheet will need to be amended in order to be useful.&lt;br /&gt;
&lt;br /&gt;
Below, you will find example code for two solutions, using two different tools.  &#039;&#039;&#039;You are recommended to use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] for this purpose&#039;&#039;&#039;, as certain special characters, e.g.: the ampersand, if used in your filenames, may cause problems when using [http://gnuwin32.sourceforge.net/packages/sed.htm SED].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using GSAR==&lt;br /&gt;
&lt;br /&gt;
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files.  This is achieved in the following way:&lt;br /&gt;
&lt;br /&gt;
# When the first track is processed the cuesheet will be copied to a new cuesheet file named &amp;quot;$cdartist$ - $album$.cue&amp;quot;. A batch command, settting the correct codepage, is written to a temporary batch file called &amp;quot;update-cuesheet.bat&amp;quot;.&lt;br /&gt;
# Every time a track is processed, a GSAR command, to replace that track&#039;s filename, is written to the temporary batch file.&lt;br /&gt;
# When the last track is processed, a GSAR command is executed to escape percent signs (%) in the temporary batch file.&lt;br /&gt;
# The temporary batch file is executed, executing a GSAR command for each track.&lt;br /&gt;
# The file &amp;quot;update-cuesheet.bat&amp;quot; is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating the GSAR commands for each track&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using for each track:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET trackCueFile=&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
IF NOT EXIST %trackCueFile% (&lt;br /&gt;
    COPY &amp;quot;@albumfile@.[mg].cue&amp;quot; %trackCueFile%&lt;br /&gt;
    ECHO CHCP 1252 ^| PROMPT&amp;gt;&amp;gt;update-cuesheet.bat&lt;br /&gt;
)&lt;br /&gt;
ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot; &amp;quot;-r%TrackName%.wv&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here it is in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks&lt;br /&gt;
    IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF @various@==1 SET VA_tag=-w &amp;quot;album artist=@VA@&amp;quot;&lt;br /&gt;
        ECHO ON&lt;br /&gt;
        @tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist=&amp;quot;@artist@&amp;quot; -w album=&amp;quot;@album@&amp;quot; -w track=&amp;quot;@track@/@numtracks@&amp;quot; -w title=&amp;quot;@title@&amp;quot; -w year=&amp;quot;@year@&amp;quot; -w genre=&amp;quot;@genre@&amp;quot; -w comment=&amp;quot;@comment@&amp;quot; -w encodedby=&amp;quot;%USERNAME%&amp;quot; -w encodersettings=&amp;quot;Wavpack @Ver_Wavpack@ @Opt_Wavpack@&amp;quot; &amp;quot;@source@&amp;quot; &amp;quot;%TrackName%.wv&amp;quot;&lt;br /&gt;
        @ECHO OFF&lt;br /&gt;
        SET trackCueFile=&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
        IF NOT EXIST %trackCueFile% (&lt;br /&gt;
            COPY &amp;quot;@albumfile@.[mg].cue&amp;quot; %trackCueFile%&lt;br /&gt;
            ECHO CHCP 1252 ^| PROMPT&amp;gt;&amp;gt;update-cuesheet.bat&lt;br /&gt;
        )&lt;br /&gt;
        ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot; &amp;quot;-r%TrackName%.wv&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&lt;br /&gt;
        IF %have_cover%==1 IF NOT EXIST folder.jpg COPY &amp;quot;@cover@&amp;quot; folder.jpg&lt;br /&gt;
        TITLE @track@/@numtracks@ - &amp;quot;@album@&amp;quot;&lt;br /&gt;
    POPD&lt;br /&gt;
:end_wavpack_tracks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the extension (&amp;quot;wv&amp;quot;) will need to be changed depending on the format that you are using.  Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot;&amp;quot;&amp;quot; WAVE&amp;quot; &amp;quot;-r%TrackName%.mp3&amp;quot;&amp;quot;&amp;quot; MP3&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, note that the example uses the &amp;quot;multiple WAVE files with gaps (non-compliant)&amp;quot; cuesheet as its source.  This is the cuesheet that most users would require; however you can replace &amp;quot;@albumfile@.[mg].cue&amp;quot; with &amp;quot;@albumfile@.[m].cue&amp;quot; or &amp;quot;@albumfile@.[mc].cue&amp;quot; if you wish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Executing the batch file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using at the end of the config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat&lt;br /&gt;
CALL update-cuesheet.bat&lt;br /&gt;
DEL update-cuesheet.bat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here they are in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF @Wavpack@==1 (&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF %add_rg%==1 @tools@\wvgain.exe -a *.wv&lt;br /&gt;
        REM COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
        @tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat&lt;br /&gt;
        CALL update-cuesheet.bat&lt;br /&gt;
        DEL update-cuesheet.bat&lt;br /&gt;
    POPD&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These two lines are universal, and can be added to any format&#039;s section with no need for change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], and put the executable in your [[REACT]] tools directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Using GSAR For Other Requirements===&lt;br /&gt;
&lt;br /&gt;
If you will be using GSAR for other string replacement in your config, you may need to ensure that two characters are escaped before creating your GSAR command line.&lt;br /&gt;
&lt;br /&gt;
If you are dealing solely with filenames, as in the section above, you do not need to worry: these are both illegal filename characters and therefore cannot possibly raise an issue.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If you are not dealing solely in filenames&#039;&#039;&#039;, you will need to ensure that any double quotes (&amp;quot;) and colons (:) are escaped.  Double quotes may be escaped by replacing one instance with three (&amp;quot; -&amp;gt; &amp;quot;&amp;quot;&amp;quot;) or by replacing it with the correct character code (&amp;quot; -&amp;gt; :034 (decimal) or &amp;quot; -&amp;gt; :x22 (hex)).  Colons should be escaped by prefixing with another colon. (: -&amp;gt; ::)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E.g.: If your string is as follows:&lt;br /&gt;
&lt;br /&gt;
 A Test: using &amp;quot;both&amp;quot; characters&lt;br /&gt;
&lt;br /&gt;
... any of the lines below may be used in its place:&lt;br /&gt;
&lt;br /&gt;
 A Test:: using &amp;quot;&amp;quot;&amp;quot;both&amp;quot;&amp;quot;&amp;quot;&amp;quot; characters&lt;br /&gt;
 A Test:: using :034both:034 characters&lt;br /&gt;
 A Test:: using :x22both:x22 characters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is some example code to escape an existing batch file variable, &amp;quot;myVar&amp;quot;, before passing it to GSAR:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET myVar=%myVar::=::%&lt;br /&gt;
SET myVar=%myVar:&amp;quot;=:x22%&lt;br /&gt;
&lt;br /&gt;
@tools@\GSAR.EXE &amp;quot;-sSome Existing Text&amp;quot; &amp;quot;-r%myVar%&amp;quot; -o myfile.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Using GSAR to Escape Percent Signs Written to Batch Files====&lt;br /&gt;
&lt;br /&gt;
When using a percent sign in your config it must be escaped like so: %%.  This ensures that it is not mistaken for the beginning of a batch file variable (e.g.: %myVar%).&lt;br /&gt;
&lt;br /&gt;
If your config needs to create and execute a batch file on the fly, as the example in [[REACT:Amending_Cuesheet_File_References#Using_GSAR|Using GSAR]] does, you will need to re-escape any percent signs, as the act of writing the batch file will unescape any written.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], before executing your batch file, to ensure that all percent signs written to the file are properly escaped.&lt;br /&gt;
&lt;br /&gt;
 GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat&lt;br /&gt;
&lt;br /&gt;
This command will escape all percent signs (% -&amp;gt; %%) in the update-cuesheet.bat file. The -o switch tells GSAR to overwrite the update-cuesheet.bat file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using SED==&lt;br /&gt;
&lt;br /&gt;
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/sed.htm SED] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files.  This is achieved in the following way:&lt;br /&gt;
&lt;br /&gt;
# Every time a track is processed a SED command, to replace that track&#039;s filename, is written to a temporary text file called &amp;quot;sedlist.txt&amp;quot;.&lt;br /&gt;
# When the last track is processed this file is passed to SED which executes each command on the cuesheet text, and writes the new text to a new cuesheet file named &amp;quot;$cdartist$ - $album$.cue&amp;quot;.&lt;br /&gt;
# The file &amp;quot;sedlist.txt&amp;quot; is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Writing the SED commands for each track&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following line needs to be added to the code which is run for the format you are using for each track:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot;/FILE &amp;quot;%TrackName%\.wv&amp;quot;/&amp;gt;&amp;gt;sedlist.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here it is in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks&lt;br /&gt;
    IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF @various@==1 SET VA_tag=-w &amp;quot;album artist=@VA@&amp;quot;&lt;br /&gt;
        ECHO ON&lt;br /&gt;
        @tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist=&amp;quot;@artist@&amp;quot; -w album=&amp;quot;@album@&amp;quot; -w track=&amp;quot;@track@/@numtracks@&amp;quot; -w title=&amp;quot;@title@&amp;quot; -w year=&amp;quot;@year@&amp;quot; -w genre=&amp;quot;@genre@&amp;quot; -w comment=&amp;quot;@comment@&amp;quot; -w encodedby=&amp;quot;%USERNAME%&amp;quot; -w encodersettings=&amp;quot;Wavpack @Ver_Wavpack@ @Opt_Wavpack@&amp;quot; &amp;quot;@source@&amp;quot; &amp;quot;%TrackName%.wv&amp;quot;&lt;br /&gt;
        ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot;/FILE &amp;quot;%TrackName%\.wv&amp;quot;/&amp;gt;&amp;gt;sedlist.txt&lt;br /&gt;
        @ECHO OFF&lt;br /&gt;
        IF %have_cover%==1 IF NOT EXIST folder.jpg COPY &amp;quot;@cover@&amp;quot; folder.jpg&lt;br /&gt;
        TITLE @track@/@numtracks@ - &amp;quot;@album@&amp;quot;&lt;br /&gt;
    POPD&lt;br /&gt;
:end_wavpack_tracks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the extension (&amp;quot;wv&amp;quot;) will need to be changed depending on the format that you are using.  Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot; WAVE/FILE &amp;quot;%TrackName%\.mp3&amp;quot; MP3/&amp;gt;&amp;gt;sedlist.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Executing SED&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using at the end of the config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@tools@\SED -f sedlist.txt &amp;lt;&amp;quot;@albumfile@.[mg].cue&amp;quot; &amp;gt;&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
DEL sedlist.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here they are in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF @Wavpack@==1 (&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF %add_rg%==1 @tools@\wvgain.exe -a *.wv&lt;br /&gt;
        REM COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
        @tools@\SED -f sedlist.txt &amp;lt;&amp;quot;@albumfile@.[mg].cue&amp;quot; &amp;gt;&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
        DEL sedlist.txt&lt;br /&gt;
    POPD&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These two lines are universal, and can be added to any format&#039;s section with no need for change.  Note though, that the example uses the &amp;quot;multiple WAVE files with gaps (non-compliant)&amp;quot; cuesheet as its source.  This is the cuesheet that most users would require; however you can replace &amp;quot;@albumfile@.[mg].cue&amp;quot; with &amp;quot;@albumfile@.[m].cue&amp;quot; or &amp;quot;@albumfile@.[mc].cue&amp;quot; if you wish.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/sed.htm SED], including its dependencies (&amp;quot;libintl3.dll&amp;quot; and &amp;quot;libiconv2.dll&amp;quot;), and put all three files in your [[REACT]] tools directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related Thread==&lt;br /&gt;
This tip is a result of a string of posts between lipidicman and [[User:Synthetic Soul|Synthetic Soul]] in the [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 thread] beginning with [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=483839 this post].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Amending Cuesheet File References]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Amending_Cuesheet_File_References&amp;diff=18189</id>
		<title>REACT:Amending Cuesheet File References</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Amending_Cuesheet_File_References&amp;diff=18189"/>
		<updated>2008-01-18T09:53:43Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Clarified filenames and GSAR&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[REACT]] to rip to individual tracks you can request all cuesheets to be created, by specifying the following in REACT.ini:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CreateAllCuesheets=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create the following files in the working directory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[s].cue&amp;quot;&#039;&#039;&#039; (Single WAVE file)&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[mg].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with gaps (non-compliant))&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[m].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with gaps left out)&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[mc].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with corrected gaps)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The multi-file cuesheets will reference the tracks using the filename format set in [[EAC]], which should be &amp;quot;$cdartist$ - $album$ - $track$ - $title$&amp;quot; for standard albums, and specifying a &amp;quot;.wav&amp;quot; extension.  However, this is unlikely to be the format that your track files are actually in, which means that the cuesheet will need to be amended in order to be useful.&lt;br /&gt;
&lt;br /&gt;
Below, you will find example code for two solutions, using two different tools.  &#039;&#039;&#039;You are recommended to use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] for this purpose&#039;&#039;&#039;, as certain special characters, e.g.: the ampersand, if used in your filenames, may cause problems when using [http://gnuwin32.sourceforge.net/packages/sed.htm SED].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using GSAR==&lt;br /&gt;
&lt;br /&gt;
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files.  This is achieved in the following way:&lt;br /&gt;
&lt;br /&gt;
# When the first track is processed the cuesheet will be copied to a new cuesheet file named &amp;quot;$cdartist$ - $album$.cue&amp;quot;. A batch command, settting the correct codepage, is written to a temporary batch file called &amp;quot;update-cuesheet.bat&amp;quot;.&lt;br /&gt;
# Every time a track is processed, a GSAR command, to replace that track&#039;s filename, is written to the temporary batch file.&lt;br /&gt;
# When the last track is processed, a GSAR command is executed to escape percent signs (%) in the temporary batch file.&lt;br /&gt;
# The temporary batch file is executed, executing a GSAR command for each track.&lt;br /&gt;
# The file &amp;quot;update-cuesheet.bat&amp;quot; is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating the GSAR commands for each track&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using for each track:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET trackCueFile=&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
IF NOT EXIST %trackCueFile% (&lt;br /&gt;
    COPY &amp;quot;@albumfile@.[mg].cue&amp;quot; %trackCueFile%&lt;br /&gt;
    ECHO CHCP 1252 ^| PROMPT&amp;gt;&amp;gt;update-cuesheet.bat&lt;br /&gt;
)&lt;br /&gt;
ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot; &amp;quot;-r%TrackName%.wv&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here it is in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks&lt;br /&gt;
    IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF @various@==1 SET VA_tag=-w &amp;quot;album artist=@VA@&amp;quot;&lt;br /&gt;
        ECHO ON&lt;br /&gt;
        @tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist=&amp;quot;@artist@&amp;quot; -w album=&amp;quot;@album@&amp;quot; -w track=&amp;quot;@track@/@numtracks@&amp;quot; -w title=&amp;quot;@title@&amp;quot; -w year=&amp;quot;@year@&amp;quot; -w genre=&amp;quot;@genre@&amp;quot; -w comment=&amp;quot;@comment@&amp;quot; -w encodedby=&amp;quot;%USERNAME%&amp;quot; -w encodersettings=&amp;quot;Wavpack @Ver_Wavpack@ @Opt_Wavpack@&amp;quot; &amp;quot;@source@&amp;quot; &amp;quot;%TrackName%.wv&amp;quot;&lt;br /&gt;
        @ECHO OFF&lt;br /&gt;
        SET trackCueFile=&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
        IF NOT EXIST %trackCueFile% (&lt;br /&gt;
            COPY &amp;quot;@albumfile@.[mg].cue&amp;quot; %trackCueFile%&lt;br /&gt;
            ECHO CHCP 1252 ^| PROMPT&amp;gt;&amp;gt;update-cuesheet.bat&lt;br /&gt;
        )&lt;br /&gt;
        ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot; &amp;quot;-r%TrackName%.wv&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&lt;br /&gt;
        IF %have_cover%==1 IF NOT EXIST folder.jpg COPY &amp;quot;@cover@&amp;quot; folder.jpg&lt;br /&gt;
        TITLE @track@/@numtracks@ - &amp;quot;@album@&amp;quot;&lt;br /&gt;
    POPD&lt;br /&gt;
:end_wavpack_tracks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the extension (&amp;quot;wv&amp;quot;) will need to be changed depending on the format that you are using.  Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot;&amp;quot;&amp;quot; WAVE&amp;quot; &amp;quot;-r%TrackName%.mp3&amp;quot;&amp;quot;&amp;quot; MP3&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, note that the example uses the &amp;quot;multiple WAVE files with gaps (non-compliant)&amp;quot; cuesheet as its source.  This is the cuesheet that most users would require; however you can replace &amp;quot;@albumfile@.[mg].cue&amp;quot; with &amp;quot;@albumfile@.[m].cue&amp;quot; or &amp;quot;@albumfile@.[mc].cue&amp;quot; if you wish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Executing the batch file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using at the end of the config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat&lt;br /&gt;
CALL update-cuesheet.bat&lt;br /&gt;
DEL update-cuesheet.bat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here they are in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF @Wavpack@==1 (&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF %add_rg%==1 @tools@\wvgain.exe -a *.wv&lt;br /&gt;
        REM COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
        @tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat&lt;br /&gt;
        CALL update-cuesheet.bat&lt;br /&gt;
        DEL update-cuesheet.bat&lt;br /&gt;
    POPD&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These two lines are universal, and can be added to any format&#039;s section with no need for change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], and put the executable in your [[REACT]] tools directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Using GSAR For Other Requirements===&lt;br /&gt;
&lt;br /&gt;
If you will be using GSAR for other string replacement in your config, you may need to ensure that two characters are escaped before creating your GSAR command line.&lt;br /&gt;
&lt;br /&gt;
If you are dealing solely with filenames, as in the section above, you do not need to worry, as these are both illegal filename characters, and therefore cannot possibly raise an issue.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If you are not dealing solely in filenames&#039;&#039;&#039;, you will need to ensure that any double quotes (&amp;quot;) and colons (:) are escaped.  Double quotes may be escaped by replacing one one instance with three (&amp;quot; -&amp;gt; &amp;quot;&amp;quot;&amp;quot;) or by replacing it with the correct character code (&amp;quot; -&amp;gt; :034 (decimal) or &amp;quot; -&amp;gt; :x22 (hex)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E.g.: If your string is as follows:&lt;br /&gt;
&lt;br /&gt;
 A Test: using &amp;quot;both&amp;quot; characters&lt;br /&gt;
&lt;br /&gt;
... any of the lines below may be used in its place:&lt;br /&gt;
&lt;br /&gt;
 A Test:: using &amp;quot;&amp;quot;&amp;quot;both&amp;quot;&amp;quot;&amp;quot;&amp;quot; characters&lt;br /&gt;
 A Test:: using :034both:034 characters&lt;br /&gt;
 A Test:: using :x22both:x22 characters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is some example code to escape an existing batch file variable, &amp;quot;myVar&amp;quot;, before passing it to GSAR:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET myVar=%myVar::=::%&lt;br /&gt;
SET myVar=%myVar:&amp;quot;=:x22%&lt;br /&gt;
&lt;br /&gt;
@tools@\GSAR.EXE &amp;quot;-sSome Existing Text&amp;quot; &amp;quot;-r%myVar%&amp;quot; -o myfile.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Using GSAR to Escape Percent Signs Written to Batch Files====&lt;br /&gt;
&lt;br /&gt;
When using a percent sign in your config it must be escaped like so: %%.  This ensures that it is not mistaken for the beginning of a batch file variable (e.g.: %myVar%).&lt;br /&gt;
&lt;br /&gt;
If your config needs to create and execute a batch file on the fly, as the example in [[REACT:Amending_Cuesheet_File_References#Using_GSAR|Using GSAR]] does, you will need to re-escape any percent signs, as the act of writing the batch file will unescape any written.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], before executing your batch file, to ensure that all percent signs written to the file are properly escaped.&lt;br /&gt;
&lt;br /&gt;
 GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat&lt;br /&gt;
&lt;br /&gt;
This command will escape all percent signs (% -&amp;gt; %%) in the update-cuesheet.bat file. The -o switch tells GSAR to overwrite the update-cuesheet.bat file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using SED==&lt;br /&gt;
&lt;br /&gt;
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/sed.htm SED] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files.  This is achieved in the following way:&lt;br /&gt;
&lt;br /&gt;
# Every time a track is processed a SED command, to replace that track&#039;s filename, is written to a temporary text file called &amp;quot;sedlist.txt&amp;quot;.&lt;br /&gt;
# When the last track is processed this file is passed to SED which executes each command on the cuesheet text, and writes the new text to a new cuesheet file named &amp;quot;$cdartist$ - $album$.cue&amp;quot;.&lt;br /&gt;
# The file &amp;quot;sedlist.txt&amp;quot; is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Writing the SED commands for each track&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following line needs to be added to the code which is run for the format you are using for each track:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot;/FILE &amp;quot;%TrackName%\.wv&amp;quot;/&amp;gt;&amp;gt;sedlist.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here it is in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks&lt;br /&gt;
    IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF @various@==1 SET VA_tag=-w &amp;quot;album artist=@VA@&amp;quot;&lt;br /&gt;
        ECHO ON&lt;br /&gt;
        @tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist=&amp;quot;@artist@&amp;quot; -w album=&amp;quot;@album@&amp;quot; -w track=&amp;quot;@track@/@numtracks@&amp;quot; -w title=&amp;quot;@title@&amp;quot; -w year=&amp;quot;@year@&amp;quot; -w genre=&amp;quot;@genre@&amp;quot; -w comment=&amp;quot;@comment@&amp;quot; -w encodedby=&amp;quot;%USERNAME%&amp;quot; -w encodersettings=&amp;quot;Wavpack @Ver_Wavpack@ @Opt_Wavpack@&amp;quot; &amp;quot;@source@&amp;quot; &amp;quot;%TrackName%.wv&amp;quot;&lt;br /&gt;
        ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot;/FILE &amp;quot;%TrackName%\.wv&amp;quot;/&amp;gt;&amp;gt;sedlist.txt&lt;br /&gt;
        @ECHO OFF&lt;br /&gt;
        IF %have_cover%==1 IF NOT EXIST folder.jpg COPY &amp;quot;@cover@&amp;quot; folder.jpg&lt;br /&gt;
        TITLE @track@/@numtracks@ - &amp;quot;@album@&amp;quot;&lt;br /&gt;
    POPD&lt;br /&gt;
:end_wavpack_tracks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the extension (&amp;quot;wv&amp;quot;) will need to be changed depending on the format that you are using.  Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot; WAVE/FILE &amp;quot;%TrackName%\.mp3&amp;quot; MP3/&amp;gt;&amp;gt;sedlist.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Executing SED&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using at the end of the config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@tools@\SED -f sedlist.txt &amp;lt;&amp;quot;@albumfile@.[mg].cue&amp;quot; &amp;gt;&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
DEL sedlist.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here they are in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF @Wavpack@==1 (&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF %add_rg%==1 @tools@\wvgain.exe -a *.wv&lt;br /&gt;
        REM COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
        @tools@\SED -f sedlist.txt &amp;lt;&amp;quot;@albumfile@.[mg].cue&amp;quot; &amp;gt;&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
        DEL sedlist.txt&lt;br /&gt;
    POPD&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These two lines are universal, and can be added to any format&#039;s section with no need for change.  Note though, that the example uses the &amp;quot;multiple WAVE files with gaps (non-compliant)&amp;quot; cuesheet as its source.  This is the cuesheet that most users would require; however you can replace &amp;quot;@albumfile@.[mg].cue&amp;quot; with &amp;quot;@albumfile@.[m].cue&amp;quot; or &amp;quot;@albumfile@.[mc].cue&amp;quot; if you wish.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/sed.htm SED], including its dependencies (&amp;quot;libintl3.dll&amp;quot; and &amp;quot;libiconv2.dll&amp;quot;), and put all three files in your [[REACT]] tools directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related Thread==&lt;br /&gt;
This tip is a result of a string of posts between lipidicman and [[User:Synthetic Soul|Synthetic Soul]] in the [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 thread] beginning with [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=483839 this post].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Amending Cuesheet File References]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Amending_Cuesheet_File_References&amp;diff=18188</id>
		<title>REACT:Amending Cuesheet File References</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Amending_Cuesheet_File_References&amp;diff=18188"/>
		<updated>2008-01-18T09:42:04Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Updated text in Using GSAR For Other Requirements&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[REACT]] to rip to individual tracks you can request all cuesheets to be created, by specifying the following in REACT.ini:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CreateAllCuesheets=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create the following files in the working directory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[s].cue&amp;quot;&#039;&#039;&#039; (Single WAVE file)&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[mg].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with gaps (non-compliant))&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[m].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with gaps left out)&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[mc].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with corrected gaps)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The multi-file cuesheets will reference the tracks using the filename format set in [[EAC]], which should be &amp;quot;$cdartist$ - $album$ - $track$ - $title$&amp;quot; for standard albums, and specifying a &amp;quot;.wav&amp;quot; extension.  However, this is unlikely to be the format that your track files are actually in, which means that the cuesheet will need to be amended in order to be useful.&lt;br /&gt;
&lt;br /&gt;
Below, you will find example code for two solutions, using two different tools.  &#039;&#039;&#039;You are recommended to use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] for this purpose&#039;&#039;&#039;, as certain special characters, e.g.: the ampersand, if used in your filenames, may cause problems when using [http://gnuwin32.sourceforge.net/packages/sed.htm SED].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using GSAR==&lt;br /&gt;
&lt;br /&gt;
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files.  This is achieved in the following way:&lt;br /&gt;
&lt;br /&gt;
# When the first track is processed the cuesheet will be copied to a new cuesheet file named &amp;quot;$cdartist$ - $album$.cue&amp;quot;. A batch command, settting the correct codepage, is written to a temporary batch file called &amp;quot;update-cuesheet.bat&amp;quot;.&lt;br /&gt;
# Every time a track is processed, a GSAR command, to replace that track&#039;s filename, is written to the temporary batch file.&lt;br /&gt;
# When the last track is processed, a GSAR command is executed to escape percent signs (%) in the temporary batch file.&lt;br /&gt;
# The temporary batch file is executed, executing a GSAR command for each track.&lt;br /&gt;
# The file &amp;quot;update-cuesheet.bat&amp;quot; is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating the GSAR commands for each track&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using for each track:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET trackCueFile=&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
IF NOT EXIST %trackCueFile% (&lt;br /&gt;
    COPY &amp;quot;@albumfile@.[mg].cue&amp;quot; %trackCueFile%&lt;br /&gt;
    ECHO CHCP 1252 ^| PROMPT&amp;gt;&amp;gt;update-cuesheet.bat&lt;br /&gt;
)&lt;br /&gt;
ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot; &amp;quot;-r%TrackName%.wv&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here it is in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks&lt;br /&gt;
    IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF @various@==1 SET VA_tag=-w &amp;quot;album artist=@VA@&amp;quot;&lt;br /&gt;
        ECHO ON&lt;br /&gt;
        @tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist=&amp;quot;@artist@&amp;quot; -w album=&amp;quot;@album@&amp;quot; -w track=&amp;quot;@track@/@numtracks@&amp;quot; -w title=&amp;quot;@title@&amp;quot; -w year=&amp;quot;@year@&amp;quot; -w genre=&amp;quot;@genre@&amp;quot; -w comment=&amp;quot;@comment@&amp;quot; -w encodedby=&amp;quot;%USERNAME%&amp;quot; -w encodersettings=&amp;quot;Wavpack @Ver_Wavpack@ @Opt_Wavpack@&amp;quot; &amp;quot;@source@&amp;quot; &amp;quot;%TrackName%.wv&amp;quot;&lt;br /&gt;
        @ECHO OFF&lt;br /&gt;
        SET trackCueFile=&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
        IF NOT EXIST %trackCueFile% (&lt;br /&gt;
            COPY &amp;quot;@albumfile@.[mg].cue&amp;quot; %trackCueFile%&lt;br /&gt;
            ECHO CHCP 1252 ^| PROMPT&amp;gt;&amp;gt;update-cuesheet.bat&lt;br /&gt;
        )&lt;br /&gt;
        ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot; &amp;quot;-r%TrackName%.wv&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&lt;br /&gt;
        IF %have_cover%==1 IF NOT EXIST folder.jpg COPY &amp;quot;@cover@&amp;quot; folder.jpg&lt;br /&gt;
        TITLE @track@/@numtracks@ - &amp;quot;@album@&amp;quot;&lt;br /&gt;
    POPD&lt;br /&gt;
:end_wavpack_tracks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the extension (&amp;quot;wv&amp;quot;) will need to be changed depending on the format that you are using.  Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot;&amp;quot;&amp;quot; WAVE&amp;quot; &amp;quot;-r%TrackName%.mp3&amp;quot;&amp;quot;&amp;quot; MP3&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, note that the example uses the &amp;quot;multiple WAVE files with gaps (non-compliant)&amp;quot; cuesheet as its source.  This is the cuesheet that most users would require; however you can replace &amp;quot;@albumfile@.[mg].cue&amp;quot; with &amp;quot;@albumfile@.[m].cue&amp;quot; or &amp;quot;@albumfile@.[mc].cue&amp;quot; if you wish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Executing the batch file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using at the end of the config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat&lt;br /&gt;
CALL update-cuesheet.bat&lt;br /&gt;
DEL update-cuesheet.bat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here they are in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF @Wavpack@==1 (&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF %add_rg%==1 @tools@\wvgain.exe -a *.wv&lt;br /&gt;
        REM COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
        @tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat&lt;br /&gt;
        CALL update-cuesheet.bat&lt;br /&gt;
        DEL update-cuesheet.bat&lt;br /&gt;
    POPD&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These two lines are universal, and can be added to any format&#039;s section with no need for change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], and put the executable in your [[REACT]] tools directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Using GSAR For Other Requirements===&lt;br /&gt;
&lt;br /&gt;
If you will be using GSAR for other string replacement in your config, you will need to ensure that certain characters are escaped before creating your GSAR command line.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For all uses&#039;&#039;&#039;, you will need to ensure that any double quotes (&amp;quot;) and colons (:) are escaped.  Double quotes may be escaped by replacing one one instance with three (&amp;quot; -&amp;gt; &amp;quot;&amp;quot;&amp;quot;) or by replacing it with the correct character code (&amp;quot; -&amp;gt; :034 (decimal) or &amp;quot; -&amp;gt; :x22 (hex)).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E.g.: If your string is as follows:&lt;br /&gt;
&lt;br /&gt;
 A Test: using &amp;quot;both&amp;quot; characters&lt;br /&gt;
&lt;br /&gt;
... any of the lines below may be used in its place:&lt;br /&gt;
&lt;br /&gt;
 A Test:: using &amp;quot;&amp;quot;&amp;quot;both&amp;quot;&amp;quot;&amp;quot;&amp;quot; characters&lt;br /&gt;
 A Test:: using :034both:034 characters&lt;br /&gt;
 A Test:: using :x22both:x22 characters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is some example code to escape an existing batch file variable, &amp;quot;myVar&amp;quot;, before passing it to GSAR:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET myVar=%myVar::=::%&lt;br /&gt;
SET myVar=%myVar:&amp;quot;=:x22%&lt;br /&gt;
&lt;br /&gt;
@tools@\GSAR.EXE &amp;quot;-sSome Existing Text&amp;quot; &amp;quot;-r%myVar%&amp;quot; -o myfile.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Using GSAR to Escape Percent Signs Written to Batch Files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When using a percent sign in your config it must be escaped like so: %%.  This ensures that it is not mistaken for the beginning of a batch file variable (e.g.: %myVar%).&lt;br /&gt;
&lt;br /&gt;
If your config needs to create and execute a batch file on the fly, as the example in [[REACT:Amending_Cuesheet_File_References#Using_GSAR|Using GSAR]] does, you will need to re-escape any percent signs, as the act of writing the batch file will unescape any written.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], before executing your batch file, to ensure that all percent signs written to the file are properly escaped.&lt;br /&gt;
&lt;br /&gt;
 GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat&lt;br /&gt;
&lt;br /&gt;
This command will escape all percent signs (% -&amp;gt; %%) in the update-cuesheet.bat file. The -o switch tells GSAR to overwrite the update-cuesheet.bat file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using SED==&lt;br /&gt;
&lt;br /&gt;
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/sed.htm SED] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files.  This is achieved in the following way:&lt;br /&gt;
&lt;br /&gt;
# Every time a track is processed a SED command, to replace that track&#039;s filename, is written to a temporary text file called &amp;quot;sedlist.txt&amp;quot;.&lt;br /&gt;
# When the last track is processed this file is passed to SED which executes each command on the cuesheet text, and writes the new text to a new cuesheet file named &amp;quot;$cdartist$ - $album$.cue&amp;quot;.&lt;br /&gt;
# The file &amp;quot;sedlist.txt&amp;quot; is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Writing the SED commands for each track&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following line needs to be added to the code which is run for the format you are using for each track:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot;/FILE &amp;quot;%TrackName%\.wv&amp;quot;/&amp;gt;&amp;gt;sedlist.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here it is in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks&lt;br /&gt;
    IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF @various@==1 SET VA_tag=-w &amp;quot;album artist=@VA@&amp;quot;&lt;br /&gt;
        ECHO ON&lt;br /&gt;
        @tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist=&amp;quot;@artist@&amp;quot; -w album=&amp;quot;@album@&amp;quot; -w track=&amp;quot;@track@/@numtracks@&amp;quot; -w title=&amp;quot;@title@&amp;quot; -w year=&amp;quot;@year@&amp;quot; -w genre=&amp;quot;@genre@&amp;quot; -w comment=&amp;quot;@comment@&amp;quot; -w encodedby=&amp;quot;%USERNAME%&amp;quot; -w encodersettings=&amp;quot;Wavpack @Ver_Wavpack@ @Opt_Wavpack@&amp;quot; &amp;quot;@source@&amp;quot; &amp;quot;%TrackName%.wv&amp;quot;&lt;br /&gt;
        ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot;/FILE &amp;quot;%TrackName%\.wv&amp;quot;/&amp;gt;&amp;gt;sedlist.txt&lt;br /&gt;
        @ECHO OFF&lt;br /&gt;
        IF %have_cover%==1 IF NOT EXIST folder.jpg COPY &amp;quot;@cover@&amp;quot; folder.jpg&lt;br /&gt;
        TITLE @track@/@numtracks@ - &amp;quot;@album@&amp;quot;&lt;br /&gt;
    POPD&lt;br /&gt;
:end_wavpack_tracks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the extension (&amp;quot;wv&amp;quot;) will need to be changed depending on the format that you are using.  Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot; WAVE/FILE &amp;quot;%TrackName%\.mp3&amp;quot; MP3/&amp;gt;&amp;gt;sedlist.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Executing SED&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using at the end of the config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@tools@\SED -f sedlist.txt &amp;lt;&amp;quot;@albumfile@.[mg].cue&amp;quot; &amp;gt;&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
DEL sedlist.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here they are in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF @Wavpack@==1 (&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF %add_rg%==1 @tools@\wvgain.exe -a *.wv&lt;br /&gt;
        REM COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
        @tools@\SED -f sedlist.txt &amp;lt;&amp;quot;@albumfile@.[mg].cue&amp;quot; &amp;gt;&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
        DEL sedlist.txt&lt;br /&gt;
    POPD&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These two lines are universal, and can be added to any format&#039;s section with no need for change.  Note though, that the example uses the &amp;quot;multiple WAVE files with gaps (non-compliant)&amp;quot; cuesheet as its source.  This is the cuesheet that most users would require; however you can replace &amp;quot;@albumfile@.[mg].cue&amp;quot; with &amp;quot;@albumfile@.[m].cue&amp;quot; or &amp;quot;@albumfile@.[mc].cue&amp;quot; if you wish.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/sed.htm SED], including its dependencies (&amp;quot;libintl3.dll&amp;quot; and &amp;quot;libiconv2.dll&amp;quot;), and put all three files in your [[REACT]] tools directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related Thread==&lt;br /&gt;
This tip is a result of a string of posts between lipidicman and [[User:Synthetic Soul|Synthetic Soul]] in the [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 thread] beginning with [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=483839 this post].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Amending Cuesheet File References]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Amending_Cuesheet_File_References&amp;diff=18185</id>
		<title>REACT:Amending Cuesheet File References</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Amending_Cuesheet_File_References&amp;diff=18185"/>
		<updated>2008-01-16T14:47:56Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[REACT]] to rip to individual tracks you can request all cuesheets to be created, by specifying the following in REACT.ini:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CreateAllCuesheets=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create the following files in the working directory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[s].cue&amp;quot;&#039;&#039;&#039; (Single WAVE file)&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[mg].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with gaps (non-compliant))&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[m].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with gaps left out)&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[mc].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with corrected gaps)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The multi-file cuesheets will reference the tracks using the filename format set in [[EAC]], which should be &amp;quot;$cdartist$ - $album$ - $track$ - $title$&amp;quot; for standard albums, and specifying a &amp;quot;.wav&amp;quot; extension.  However, this is unlikely to be the format that your track files are actually in, which means that the cuesheet will need to be amended in order to be useful.&lt;br /&gt;
&lt;br /&gt;
Below, you will find example code for two solutions, using two different tools.  &#039;&#039;&#039;You are recommended to use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] for this purpose&#039;&#039;&#039;, as certain special characters, e.g.: the ampersand, if used in your filenames, may cause problems when using [http://gnuwin32.sourceforge.net/packages/sed.htm SED].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using GSAR==&lt;br /&gt;
&lt;br /&gt;
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files.  This is achieved in the following way:&lt;br /&gt;
&lt;br /&gt;
# When the first track is processed the cuesheet will be copied to a new cuesheet file named &amp;quot;$cdartist$ - $album$.cue&amp;quot;.&lt;br /&gt;
# Every time a track is processed a GSAR command, to replace that track&#039;s filename, is written to a temporary batch file called &amp;quot;update-cuesheet.bat&amp;quot;.&lt;br /&gt;
# When the last track is processed this batch file is executed, executing a GSAR command for each track.&lt;br /&gt;
# The file &amp;quot;update-cuesheet.bat&amp;quot; is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating the GSAR commands for each track&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using for each track:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;SET trackCueFile=&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
IF NOT EXIST %trackCueFile% COPY &amp;quot;@albumfile@.[mg].cue&amp;quot; %trackCueFile%&lt;br /&gt;
ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot; &amp;quot;-r%TrackName%.wv&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here it is in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks&lt;br /&gt;
    IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF @various@==1 SET VA_tag=-w &amp;quot;album artist=@VA@&amp;quot;&lt;br /&gt;
        ECHO ON&lt;br /&gt;
        @tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist=&amp;quot;@artist@&amp;quot; -w album=&amp;quot;@album@&amp;quot; -w track=&amp;quot;@track@/@numtracks@&amp;quot; -w title=&amp;quot;@title@&amp;quot; -w year=&amp;quot;@year@&amp;quot; -w genre=&amp;quot;@genre@&amp;quot; -w comment=&amp;quot;@comment@&amp;quot; -w encodedby=&amp;quot;%USERNAME%&amp;quot; -w encodersettings=&amp;quot;Wavpack @Ver_Wavpack@ @Opt_Wavpack@&amp;quot; &amp;quot;@source@&amp;quot; &amp;quot;%TrackName%.wv&amp;quot;&lt;br /&gt;
        @ECHO OFF&lt;br /&gt;
        SET trackCueFile=&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
        IF NOT EXIST %trackCueFile% COPY &amp;quot;@albumfile@.[mg].cue&amp;quot; %trackCueFile%&lt;br /&gt;
        ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot; &amp;quot;-r%TrackName%.wv&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&lt;br /&gt;
        IF %have_cover%==1 IF NOT EXIST folder.jpg COPY &amp;quot;@cover@&amp;quot; folder.jpg&lt;br /&gt;
        TITLE @track@/@numtracks@ - &amp;quot;@album@&amp;quot;&lt;br /&gt;
    POPD&lt;br /&gt;
:end_wavpack_tracks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the extension (&amp;quot;wv&amp;quot;) will need to be changed depending on the format that you are using.  Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot;&amp;quot;&amp;quot; WAVE&amp;quot; &amp;quot;-r%TrackName%.mp3&amp;quot;&amp;quot;&amp;quot; MP3&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, note that the example uses the &amp;quot;multiple WAVE files with gaps (non-compliant)&amp;quot; cuesheet as its source.  This is the cuesheet that most users would require; however you can replace &amp;quot;@albumfile@.[mg].cue&amp;quot; with &amp;quot;@albumfile@.[m].cue&amp;quot; or &amp;quot;@albumfile@.[mc].cue&amp;quot; if you wish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Executing the batch file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using at the end of the config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CALL update-cuesheet.bat&lt;br /&gt;
DEL update-cuesheet.bat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here they are in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF @Wavpack@==1 (&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF %add_rg%==1 @tools@\wvgain.exe -a *.wv&lt;br /&gt;
        REM COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
        CALL update-cuesheet.bat&lt;br /&gt;
        DEL update-cuesheet.bat&lt;br /&gt;
    POPD&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These two lines are universal, and can be added to any format&#039;s section with no need for change.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], and put the executable in your [[REACT]] tools directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using SED==&lt;br /&gt;
&lt;br /&gt;
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/sed.htm SED] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files.  This is achieved in the following way:&lt;br /&gt;
&lt;br /&gt;
# Every time a track is processed a SED command, to replace that track&#039;s filename, is written to a temporary text file called &amp;quot;sedlist.txt&amp;quot;.&lt;br /&gt;
# When the last track is processed this file is passed to SED which executes each command on the cuesheet text, and writes the new text to a new cuesheet file named &amp;quot;$cdartist$ - $album$.cue&amp;quot;.&lt;br /&gt;
# The file &amp;quot;sedlist.txt&amp;quot; is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Writing the SED commands for each track&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following line needs to be added to the code which is run for the format you are using for each track:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot;/FILE &amp;quot;%TrackName%\.wv&amp;quot;/&amp;gt;&amp;gt;sedlist.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here it is in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks&lt;br /&gt;
    IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF @various@==1 SET VA_tag=-w &amp;quot;album artist=@VA@&amp;quot;&lt;br /&gt;
        ECHO ON&lt;br /&gt;
        @tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist=&amp;quot;@artist@&amp;quot; -w album=&amp;quot;@album@&amp;quot; -w track=&amp;quot;@track@/@numtracks@&amp;quot; -w title=&amp;quot;@title@&amp;quot; -w year=&amp;quot;@year@&amp;quot; -w genre=&amp;quot;@genre@&amp;quot; -w comment=&amp;quot;@comment@&amp;quot; -w encodedby=&amp;quot;%USERNAME%&amp;quot; -w encodersettings=&amp;quot;Wavpack @Ver_Wavpack@ @Opt_Wavpack@&amp;quot; &amp;quot;@source@&amp;quot; &amp;quot;%TrackName%.wv&amp;quot;&lt;br /&gt;
        ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot;/FILE &amp;quot;%TrackName%\.wv&amp;quot;/&amp;gt;&amp;gt;sedlist.txt&lt;br /&gt;
        @ECHO OFF&lt;br /&gt;
        IF %have_cover%==1 IF NOT EXIST folder.jpg COPY &amp;quot;@cover@&amp;quot; folder.jpg&lt;br /&gt;
        TITLE @track@/@numtracks@ - &amp;quot;@album@&amp;quot;&lt;br /&gt;
    POPD&lt;br /&gt;
:end_wavpack_tracks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the extension (&amp;quot;wv&amp;quot;) will need to be changed depending on the format that you are using.  Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot; WAVE/FILE &amp;quot;%TrackName%\.mp3&amp;quot; MP3/&amp;gt;&amp;gt;sedlist.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Executing SED&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using at the end of the config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@tools@\SED -f sedlist.txt &amp;lt;&amp;quot;@albumfile@.[mg].cue&amp;quot; &amp;gt;&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
DEL sedlist.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here they are in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF @Wavpack@==1 (&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF %add_rg%==1 @tools@\wvgain.exe -a *.wv&lt;br /&gt;
        REM COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
        @tools@\SED -f sedlist.txt &amp;lt;&amp;quot;@albumfile@.[mg].cue&amp;quot; &amp;gt;&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
        DEL sedlist.txt&lt;br /&gt;
    POPD&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These two lines are universal, and can be added to any format&#039;s section with no need for change.  Note though, that the example uses the &amp;quot;multiple WAVE files with gaps (non-compliant)&amp;quot; cuesheet as its source.  This is the cuesheet that most users would require; however you can replace &amp;quot;@albumfile@.[mg].cue&amp;quot; with &amp;quot;@albumfile@.[m].cue&amp;quot; or &amp;quot;@albumfile@.[mc].cue&amp;quot; if you wish.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/sed.htm SED], including its dependencies (&amp;quot;libintl3.dll&amp;quot; and &amp;quot;libiconv2.dll&amp;quot;), and put all three files in your [[REACT]] tools directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related Thread==&lt;br /&gt;
This tip is a result of a string of posts between lipidicman and [[User:Synthetic Soul|Synthetic Soul]] in the [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 thread] beginning with [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=483839 this post].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Amending Cuesheet File References]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Amending_Cuesheet_File_References&amp;diff=18184</id>
		<title>REACT:Amending Cuesheet File References</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Amending_Cuesheet_File_References&amp;diff=18184"/>
		<updated>2008-01-16T14:42:35Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Added GSAR section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[REACT]] to rip to individual tracks you can request all cuesheets to be created, by specifying the following in REACT.ini:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CreateAllCuesheets=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create the following files in the working directory:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[s].cue&amp;quot;&#039;&#039;&#039; (Single WAVE file)&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[mg].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with gaps (non-compliant))&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[m].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with gaps left out)&lt;br /&gt;
* &#039;&#039;&#039;&amp;quot;@albumfile@.[mc].cue&amp;quot;&#039;&#039;&#039; (Multiple WAVE files with corrected gaps)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The multi-file cuesheets will reference the tracks using the filename format set in [[EAC]], which should be &amp;quot;$cdartist$ - $album$ - $track$ - $title$&amp;quot; for standard albums, and specifying a &amp;quot;.wav&amp;quot; extension.  However, this is unlikely to be the format that your track files are actually in, which means that the cuesheet will need to be amended in order to be useful.&lt;br /&gt;
&lt;br /&gt;
Below, you will find example code for two solutions, using two different tools.  &#039;&#039;&#039;You are recommended to use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] for this purpose&#039;&#039;&#039;, as certain special characters, e.g.: the ampersand, if used in your filenames, may cause problems when using [http://gnuwin32.sourceforge.net/packages/sed.htm SED].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using GSAR==&lt;br /&gt;
&lt;br /&gt;
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files.  This is achieved in the following way:&lt;br /&gt;
&lt;br /&gt;
# When the first track is processed the cuesheet will be copied to a new cuesheet file named &amp;quot;$cdartist$ - $album$.cue&amp;quot;.&lt;br /&gt;
# Every time a track is processed a GSAR command, to replace that track&#039;s filename, is written to a temporary batch file called &amp;quot;update-cuesheet.bat&amp;quot;.&lt;br /&gt;
# When the last track is processed this batch file is executed, executing a GSAR command for each track.&lt;br /&gt;
# The file &amp;quot;update-cuesheet.bat&amp;quot; is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating the GSAR commands for each track&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using for each track:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;SET trackCueFile=&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
IF NOT EXIST %trackCueFile% COPY &amp;quot;@albumfile@.[mg].cue&amp;quot; %trackCueFile%&lt;br /&gt;
ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot; &amp;quot;-r%TrackName%.wv&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here it is in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks&lt;br /&gt;
    IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF @various@==1 SET VA_tag=-w &amp;quot;album artist=@VA@&amp;quot;&lt;br /&gt;
        ECHO ON&lt;br /&gt;
        @tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist=&amp;quot;@artist@&amp;quot; -w album=&amp;quot;@album@&amp;quot; -w track=&amp;quot;@track@/@numtracks@&amp;quot; -w title=&amp;quot;@title@&amp;quot; -w year=&amp;quot;@year@&amp;quot; -w genre=&amp;quot;@genre@&amp;quot; -w comment=&amp;quot;@comment@&amp;quot; -w encodedby=&amp;quot;%USERNAME%&amp;quot; -w encodersettings=&amp;quot;Wavpack @Ver_Wavpack@ @Opt_Wavpack@&amp;quot; &amp;quot;@source@&amp;quot; &amp;quot;%TrackName%.wv&amp;quot;&lt;br /&gt;
        @ECHO OFF&lt;br /&gt;
        SET trackCueFile=&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
        IF NOT EXIST %trackCueFile% COPY &amp;quot;@albumfile@.[mg].cue&amp;quot; %trackCueFile%&lt;br /&gt;
        ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot; &amp;quot;-r%TrackName%.wv&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&lt;br /&gt;
        IF %have_cover%==1 IF NOT EXIST folder.jpg COPY &amp;quot;@cover@&amp;quot; folder.jpg&lt;br /&gt;
        TITLE @track@/@numtracks@ - &amp;quot;@album@&amp;quot;&lt;br /&gt;
    POPD&lt;br /&gt;
:end_wavpack_tracks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the extension (&amp;quot;wv&amp;quot;) will need to be changed depending on the format that you are using.  Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO @tools@\GSAR.EXE &amp;quot;-s@basename@.wav&amp;quot;&amp;quot;&amp;quot; WAVE&amp;quot; &amp;quot;-r%TrackName%.mp3&amp;quot;&amp;quot;&amp;quot; MP3&amp;quot; -o %trackCueFile%&amp;gt;&amp;gt;update-cuesheet.bat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, note that the example uses the &amp;quot;multiple WAVE files with gaps (non-compliant)&amp;quot; cuesheet as its source.  This is the cuesheet that most users would require; however you can replace &amp;quot;@albumfile@.[mg].cue&amp;quot; with &amp;quot;@albumfile@.[m].cue&amp;quot; or &amp;quot;@albumfile@.[mc].cue&amp;quot; if you wish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Executing the batch file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using at the end of the config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CALL update-cuesheet.bat&lt;br /&gt;
DEL update-cuesheet.bat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here they are in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF @Wavpack@==1 (&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF %add_rg%==1 @tools@\wvgain.exe -a *.wv&lt;br /&gt;
        REM COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
        CALL update-cuesheet.bat&lt;br /&gt;
        DEL update-cuesheet.bat&lt;br /&gt;
    POPD&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These two lines are universal, and can be added to any format&#039;s section with no need for change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], and put the executable in your [[REACT]] tools directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using SED==&lt;br /&gt;
&lt;br /&gt;
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/sed.htm SED] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files.  This is achieved in the following way:&lt;br /&gt;
&lt;br /&gt;
# Every time a track is processed a SED command, to replace that track&#039;s filename, is written to a temporary text file called &amp;quot;sedlist.txt&amp;quot;.&lt;br /&gt;
# When the last track is processed this file is passed to SED which executes each command on the cuesheet text, and writes the new text to a new cuesheet file named &amp;quot;$cdartist$ - $album$.cue&amp;quot;.&lt;br /&gt;
# The file &amp;quot;sedlist.txt&amp;quot; is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Writing the SED commands for each track&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following line needs to be added to the code which is run for the format you are using for each track:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot;/FILE &amp;quot;%TrackName%\.wv&amp;quot;/&amp;gt;&amp;gt;sedlist.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here it is in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks&lt;br /&gt;
    IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF @various@==1 SET VA_tag=-w &amp;quot;album artist=@VA@&amp;quot;&lt;br /&gt;
        ECHO ON&lt;br /&gt;
        @tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist=&amp;quot;@artist@&amp;quot; -w album=&amp;quot;@album@&amp;quot; -w track=&amp;quot;@track@/@numtracks@&amp;quot; -w title=&amp;quot;@title@&amp;quot; -w year=&amp;quot;@year@&amp;quot; -w genre=&amp;quot;@genre@&amp;quot; -w comment=&amp;quot;@comment@&amp;quot; -w encodedby=&amp;quot;%USERNAME%&amp;quot; -w encodersettings=&amp;quot;Wavpack @Ver_Wavpack@ @Opt_Wavpack@&amp;quot; &amp;quot;@source@&amp;quot; &amp;quot;%TrackName%.wv&amp;quot;&lt;br /&gt;
        ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot;/FILE &amp;quot;%TrackName%\.wv&amp;quot;/&amp;gt;&amp;gt;sedlist.txt&lt;br /&gt;
        @ECHO OFF&lt;br /&gt;
        IF %have_cover%==1 IF NOT EXIST folder.jpg COPY &amp;quot;@cover@&amp;quot; folder.jpg&lt;br /&gt;
        TITLE @track@/@numtracks@ - &amp;quot;@album@&amp;quot;&lt;br /&gt;
    POPD&lt;br /&gt;
:end_wavpack_tracks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the extension (&amp;quot;wv&amp;quot;) will need to be changed depending on the format that you are using.  Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ECHO s/FILE &amp;quot;@basename@\.wav&amp;quot; WAVE/FILE &amp;quot;%TrackName%\.mp3&amp;quot; MP3/&amp;gt;&amp;gt;sedlist.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Executing SED&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following lines need to be added to the code which is run for the format you are using at the end of the config:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@tools@\SED -f sedlist.txt &amp;lt;&amp;quot;@albumfile@.[mg].cue&amp;quot; &amp;gt;&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
DEL sedlist.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here they are in the WavPack section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF @Wavpack@==1 (&lt;br /&gt;
    PUSHD %TrackDir_Wavpack%&lt;br /&gt;
        IF %add_rg%==1 @tools@\wvgain.exe -a *.wv&lt;br /&gt;
        REM COPY /Y &amp;quot;@eaclog@&amp;quot; &amp;quot;EAClog.txt&amp;quot;&lt;br /&gt;
        @tools@\SED -f sedlist.txt &amp;lt;&amp;quot;@albumfile@.[mg].cue&amp;quot; &amp;gt;&amp;quot;$cdartist$ - $album$.cue&amp;quot;&lt;br /&gt;
        DEL sedlist.txt&lt;br /&gt;
    POPD&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These two lines are universal, and can be added to any format&#039;s section with no need for change.  Note though, that the example uses the &amp;quot;multiple WAVE files with gaps (non-compliant)&amp;quot; cuesheet as its source.  This is the cuesheet that most users would require; however you can replace &amp;quot;@albumfile@.[mg].cue&amp;quot; with &amp;quot;@albumfile@.[m].cue&amp;quot; or &amp;quot;@albumfile@.[mc].cue&amp;quot; if you wish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/sed.htm SED], including its dependencies (&amp;quot;libintl3.dll&amp;quot; and &amp;quot;libiconv2.dll&amp;quot;), and put all three files in your [[REACT]] tools directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related Thread==&lt;br /&gt;
This tip is a result of a string of posts between lipidicman and [[User:Synthetic Soul|Synthetic Soul]] in the [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 thread] beginning with [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=483839 this post].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Amending Cuesheet File References]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=18018</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=18018"/>
		<updated>2007-12-06T13:47:50Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Corrected date&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16i, 12/11/07&lt;br /&gt;
* Fixed a bug with &amp;lt;code&amp;gt;CreateAllCuesheets&amp;lt;/code&amp;gt; when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529370 post] ).&lt;br /&gt;
* Reinstated &amp;lt;code&amp;gt;TracksHotVal&amp;lt;/code&amp;gt;, after unwittingly removing the functionality.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16j, 14/11/07&lt;br /&gt;
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16k, 16/11/07&lt;br /&gt;
* Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line.  ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530101 post] ).&lt;br /&gt;
* UserOutputNames INI section no longer escaped, so you can again use Window&#039;s tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530166 post] ).&lt;br /&gt;
* REACT now checks that EAC is the active window before sending the commands to create the four cuesheets. &lt;br /&gt;
&lt;br /&gt;
2.0.ssb16l, 19/11/07&lt;br /&gt;
* Log file name in track mode now, finally, calculated correctly.&lt;br /&gt;
* The &amp;lt;code&amp;gt;RunCoverDownloader&amp;lt;/code&amp;gt; values as documented in [[REACT|the wiki page]] should now work as expected.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16m, 28/11/07&lt;br /&gt;
* The number of tracks to process is now calculated from a cuesheet in track mode.&lt;br /&gt;
* Expanded CreateAllCuesheets code to notify the user if a problem occurs.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16n, 30/11/07&lt;br /&gt;
* Added Akkurat&#039;s improvements to the CreateAllCuesheets processing.&lt;br /&gt;
* Added nago&#039;s multi-thread amendments.&lt;br /&gt;
* Updated configs and INI are now included in the download.&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16n.zip REACT 2.0.ssb16n]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=18004</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=18004"/>
		<updated>2007-12-04T09:23:27Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Updated to 2.0.ssb16n&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16i, 12/11/07&lt;br /&gt;
* Fixed a bug with &amp;lt;code&amp;gt;CreateAllCuesheets&amp;lt;/code&amp;gt; when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529370 post] ).&lt;br /&gt;
* Reinstated &amp;lt;code&amp;gt;TracksHotVal&amp;lt;/code&amp;gt;, after unwittingly removing the functionality.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16j, 14/11/07&lt;br /&gt;
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16k, 16/11/07&lt;br /&gt;
* Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line.  ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530101 post] ).&lt;br /&gt;
* UserOutputNames INI section no longer escaped, so you can again use Window&#039;s tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530166 post] ).&lt;br /&gt;
* REACT now checks that EAC is the active window before sending the commands to create the four cuesheets. &lt;br /&gt;
&lt;br /&gt;
2.0.ssb16l, 19/11/07&lt;br /&gt;
* Log file name in track mode now, finally, calculated correctly.&lt;br /&gt;
* The &amp;lt;code&amp;gt;RunCoverDownloader&amp;lt;/code&amp;gt; values as documented in [[REACT|the wiki page]] should now work as expected.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16m, 28/11/07&lt;br /&gt;
* The number of tracks to process is now calculated from a cuesheet in track mode.&lt;br /&gt;
* Expanded CreateAllCuesheets code to notify the user if a problem occurs.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16n, 02/11/07&lt;br /&gt;
* Added Akkurat&#039;s improvements to the CreateAllCuesheets processing.&lt;br /&gt;
* Added nago&#039;s multi-thread amendments.&lt;br /&gt;
* Updated configs and INI are now included in the download.&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16n.zip REACT 2.0.ssb16n]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17962</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17962"/>
		<updated>2007-11-19T11:09:31Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Updated to 2.0.ssb16l&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16i, 12/11/07&lt;br /&gt;
* Fixed a bug with &amp;lt;code&amp;gt;CreateAllCuesheets&amp;lt;/code&amp;gt; when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529370 post] ).&lt;br /&gt;
* Reinstated &amp;lt;code&amp;gt;TracksHotVal&amp;lt;/code&amp;gt;, after unwittingly removing the functionality.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16j, 14/11/07&lt;br /&gt;
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16k, 16/11/07&lt;br /&gt;
* Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line.  ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530101 post] ).&lt;br /&gt;
* UserOutputNames INI section no longer escaped, so you can again use Window&#039;s tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530166 post] ).&lt;br /&gt;
* REACT now checks that EAC is the active window before sending the commands to create the four cuesheets. &lt;br /&gt;
&lt;br /&gt;
2.0.ssb16l, 19/11/07&lt;br /&gt;
* Log file name in track mode now, finally, calculated correctly.&lt;br /&gt;
* The &amp;lt;code&amp;gt;RunCoverDownloader&amp;lt;/code&amp;gt; values as documented in [[REACT|the wiki page]] should now work as expected.&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16l.zip REACT 2.0.ssb16l]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17961</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17961"/>
		<updated>2007-11-17T08:33:46Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Removd l for now&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16i, 12/11/07&lt;br /&gt;
* Fixed a bug with &amp;lt;code&amp;gt;CreateAllCuesheets&amp;lt;/code&amp;gt; when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529370 post] ).&lt;br /&gt;
* Reinstated &amp;lt;code&amp;gt;TracksHotVal&amp;lt;/code&amp;gt;, after unwittingly removing the functionality.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16j, 14/11/07&lt;br /&gt;
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16k, 16/11/07&lt;br /&gt;
* 2.0.ssb16j was a disaster!  Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line.  ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530101 post] ).&lt;br /&gt;
* UserOutputNames INI section no longer escaped, so you can again use Window&#039;s tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530166 post] ).&lt;br /&gt;
* REACT now checks that EAC is the active window before sending the commands to create the four cuesheets. &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
2.0.ssb16l, 17/11/07&lt;br /&gt;
* Log file name in track mode now calculated correctly (again).&lt;br /&gt;
* The &amp;lt;code&amp;gt;RunCoverDownloader&amp;lt;/code&amp;gt; values as documented in [[REACT|the wiki page]] should now work as expected.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16k.zip REACT 2.0.ssb16k]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17960</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17960"/>
		<updated>2007-11-17T08:13:29Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16i, 12/11/07&lt;br /&gt;
* Fixed a bug with &amp;lt;code&amp;gt;CreateAllCuesheets&amp;lt;/code&amp;gt; when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529370 post] ).&lt;br /&gt;
* Reinstated &amp;lt;code&amp;gt;TracksHotVal&amp;lt;/code&amp;gt;, after unwittingly removing the functionality.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16j, 14/11/07&lt;br /&gt;
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16k, 16/11/07&lt;br /&gt;
* 2.0.ssb16j was a disaster!  Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line.  ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530101 post] ).&lt;br /&gt;
* UserOutputNames INI section no longer escaped, so you can again use Window&#039;s tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530166 post] ).&lt;br /&gt;
* REACT now checks that EAC is the active window before sending the commands to create the four cuesheets. &lt;br /&gt;
&lt;br /&gt;
2.0.ssb16l, 17/11/07&lt;br /&gt;
* Log file name in track mode now calculated correctly (again).&lt;br /&gt;
* The &amp;lt;code&amp;gt;RunCoverDownloader&amp;lt;/code&amp;gt; values as documented in [[REACT|the wiki page]] should now work as expected.&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16l.zip REACT 2.0.ssb16l]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17959</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17959"/>
		<updated>2007-11-17T08:12:55Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Updated to 2.0.ssb16l&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16i, 12/11/07&lt;br /&gt;
* Fixed a bug with &amp;lt;code&amp;gt;CreateAllCuesheets&amp;lt;/code&amp;gt; when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529370 post] ).&lt;br /&gt;
* Reinstated &amp;lt;code&amp;gt;TracksHotVal&amp;lt;/code&amp;gt;, after unwittingly removing the functionality.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16j, 14/11/07&lt;br /&gt;
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16k, 16/11/07&lt;br /&gt;
* 2.0.ssb16j was a disaster!  Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line.  ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530101 post] ).&lt;br /&gt;
* UserOutputNames INI section no longer escaped, so you can again use Window&#039;s tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530166 post] ).&lt;br /&gt;
* REACT now checks that EAC is the active window before sending the commands to create the four cuesheets. &lt;br /&gt;
&lt;br /&gt;
2.0.ssb16l, 16/11/07&lt;br /&gt;
* Log file name in track mode now calculated correctly (again).&lt;br /&gt;
* The &amp;lt;code&amp;gt;RunCoverDownloader&amp;lt;/code&amp;gt; values as documented in [[REACT|the wiki page]] should now work as expected.&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16l.zip REACT 2.0.ssb16l]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17958</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17958"/>
		<updated>2007-11-16T17:34:48Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16i, 12/11/07&lt;br /&gt;
* Fixed a bug with &amp;lt;code&amp;gt;CreateAllCuesheets&amp;lt;/code&amp;gt; when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529370 post] ).&lt;br /&gt;
* Reinstated &amp;lt;code&amp;gt;TracksHotVal&amp;lt;/code&amp;gt;, after unwittingly removing the functionality.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16j, 14/11/07&lt;br /&gt;
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16k, 16/11/07&lt;br /&gt;
* 2.0.ssb16j was a disaster!  Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line.  ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530101 post] ).&lt;br /&gt;
* UserOutputNames INI section no longer escaped, so you can again use Window&#039;s tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530166 post] ).&lt;br /&gt;
* REACT now checks that EAC is the active window before sending the commands to create the four cuesheets. &lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16k.zip REACT 2.0.ssb16k]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17957</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17957"/>
		<updated>2007-11-16T16:26:46Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16i, 12/11/07&lt;br /&gt;
* Fixed a bug with &amp;lt;code&amp;gt;CreateAllCuesheets&amp;lt;/code&amp;gt; when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529370 post] ).&lt;br /&gt;
* Reinstated &amp;lt;code&amp;gt;TracksHotVal&amp;lt;/code&amp;gt;, after unwittingly removing the functionality.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16j, 14/11/07&lt;br /&gt;
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16k, 16/11/07&lt;br /&gt;
* 2.0.ssb16j was a disaster!  Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line.  ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530101 post] ).&lt;br /&gt;
* UserOutputNames INI section no longer escaped, so you can again use Window&#039;s tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530166 post] ).  &lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16k.zip REACT 2.0.ssb16k]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17956</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17956"/>
		<updated>2007-11-16T16:26:04Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Updated to 2.0.ssb16k&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16i, 12/11/07&lt;br /&gt;
* Fixed a bug with &amp;lt;code&amp;gt;CreateAllCuesheets&amp;lt;/code&amp;gt; when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529370 post] ).&lt;br /&gt;
* Reinstated &amp;lt;code&amp;gt;TracksHotVal&amp;lt;/code&amp;gt;, after unwittingly removing the functionality.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16j, 14/11/07&lt;br /&gt;
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16k, 14/11/07&lt;br /&gt;
* 2.0.ssb16j was a disaster!  Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line.  ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530101 post] ).&lt;br /&gt;
* UserOutputNames INI section no longer escaped, so you can again use Window&#039;s tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=530166 post] ).  &lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16k.zip REACT 2.0.ssb16k]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17955</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17955"/>
		<updated>2007-11-14T20:58:09Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Updated to 2.0.ssb16j&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16i, 12/11/07&lt;br /&gt;
* Fixed a bug with &amp;lt;code&amp;gt;CreateAllCuesheets&amp;lt;/code&amp;gt; when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529370 post] ).&lt;br /&gt;
* Reinstated &amp;lt;code&amp;gt;TracksHotVal&amp;lt;/code&amp;gt;, after unwittingly removing the functionality.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16j, 14/11/07&lt;br /&gt;
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529854 post] ).&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16j.zip REACT 2.0.ssb16j]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17930</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17930"/>
		<updated>2007-11-12T10:10:16Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16i, 12/11/07&lt;br /&gt;
* Fixed a bug with &amp;lt;code&amp;gt;CreateAllCuesheets&amp;lt;/code&amp;gt; when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529370 post] ).&lt;br /&gt;
* Reinstated &amp;lt;code&amp;gt;TracksHotVal&amp;lt;/code&amp;gt;, after unwittingly removing the functionality.&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16i.zip REACT 2.0.ssb16i]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17929</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17929"/>
		<updated>2007-11-12T10:09:16Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Updated to 2.0.ssb16i&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16i, 12/11/07&lt;br /&gt;
* Fixed a bug with CreateAllCuesheets when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=529370 post] ).&lt;br /&gt;
* Reinstated TracksHotVal, after unwittingly removing the functionality.&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16i.zip REACT 2.0.ssb16h]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Lossless_comparison&amp;diff=17853</id>
		<title>Lossless comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Lossless_comparison&amp;diff=17853"/>
		<updated>2007-09-19T14:18:16Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: /* Other lossless compressions comparisons */  Updated my timestamp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;lossless comparison page&#039;&#039;&#039; aims to gather information about lossless codecs available so users can make an informed decision as to what lossless codec to choose for their needs.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Given the enormous amount of [[lossless]] audio compressor choices available, it is a very difficult task to choose the one most suited for each person&#039;s needs.&lt;br /&gt;
&lt;br /&gt;
Several people only take into consideration compression performance when choosing a codec. But as the following table and article shows, there are several other features worth taking into consideration when making that choice.&lt;br /&gt;
&lt;br /&gt;
For example, users wanting good multiplatform compatibility and robustness (E.G, people sharing live recordings) would favour [[WavPack]] or [[FLAC]]. Another user, looking for the very highest compression available, would go with [[OptimFROG]]. Someone wanting portable support would use [[FLAC]] or [[ALAC]], and so on.&lt;br /&gt;
&lt;br /&gt;
En fin, this is not a matter worth getting too worked up about. If you later find out the codec you chose isn&#039;t the best for your needs, you can just transcompress to another format, without risk of losing quality.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; for latest comparison of lossless compression, scroll down to the [[Lossless comparison#External links|Links section of this page]].&lt;br /&gt;
&lt;br /&gt;
== Comparison Table ==&lt;br /&gt;
&amp;lt;!-- Do NOT add links to the table. It&#039;s cluttered and colourful enough as it is. Please add them to the article itself if needed. Thanks --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;2&amp;quot; style=&amp;quot;text-align:center; border:1px solid blue;&amp;quot;&lt;br /&gt;
|width=&amp;quot;120px&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | WavPack&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | ALAC&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | FLAC&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | Monkey&#039;s&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | OptimFROG&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | Shorten&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Encoding speed&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Decoding speed&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Compression*&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 58.0%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 58.50%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 58.70%&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | 55.50%&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | 54.70%&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | 63.50%&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Flexibility**&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad     &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Error handling&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no &lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Seeking&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Tagging        ||! style=&amp;quot;background: #00FF00&amp;quot; | ID3/APE      ||! style=&amp;quot;background: #00FF00&amp;quot; | QT tags      ||! style=&amp;quot;background: #00FF00&amp;quot; | Vorbis tags     ||! style=&amp;quot;background: #00FF00&amp;quot; | ID3/APE          ||! style=&amp;quot;background: #00FF00&amp;quot; | ID3/APE         ||! style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-|&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Hardware support &lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited        &lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good          &lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good           &lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no             &lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited&lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Software support ||! style=&amp;quot;background: #CCFFCC&amp;quot; | good ||! style=&amp;quot;background: #FF9900&amp;quot; | bad         ||! style=&amp;quot;background: #00FF00&amp;quot; | very good     ||! style=&amp;quot;background: #CCFFCC&amp;quot; | good       ||! style=&amp;quot;background: #FFFFFF&amp;quot; | average         ||! style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Hybrid/lossy   ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #FF9900&amp;quot; | no          ||! style=&amp;quot;background: #FF9900&amp;quot; | no           ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes             ||! style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Replay Gain     ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #FFFFFF&amp;quot; | sort of      ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes             ||! style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | RIFF chunks    ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;       ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #00FF00&amp;quot; | yes              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes             ||! style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Streaming      ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes             ||! style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Pipe support   ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #FF9900&amp;quot; | no          ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #00FF00&amp;quot; | yes              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes             ||! style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Open source    ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #CCFFCC&amp;quot; | Yes (decoding) ||! style=&amp;quot;background: #00FF00&amp;quot; | yes   ||! style=&amp;quot;background: #00FF00&amp;quot; | yes              ||! style=&amp;quot;background: #FF9900&amp;quot; | no             ||! style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Multichannel   ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #FF9900&amp;quot; | no             ||! style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | High resolution ||! style=&amp;quot;background: #00FF00&amp;quot; | yes         ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #00FF00&amp;quot; | yes              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes             ||! style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | OS support     ||! style=&amp;quot;background: #00FF00&amp;quot; | All          ||! style=&amp;quot;background: #CCFFCC&amp;quot; | Win/Mac ||! style=&amp;quot;background: #00FF00&amp;quot; | All          ||! style=&amp;quot;background: #00FF00&amp;quot; | All              ||! style=&amp;quot;background: #00FF00&amp;quot; | Win/Mac/Linux   ||! style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(table continued below)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;2&amp;quot; style=&amp;quot;text-align:center; border:1px solid blue;&amp;quot;&lt;br /&gt;
|width=&amp;quot;120px&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | WMA&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | LA&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | TTA&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | LPAC&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | MPEG-4 ALS&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | MPEG-4 SLS&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | Real Lossless&lt;br /&gt;
|-&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Encoding speed ||! style=&amp;quot;background: #FFFFFF&amp;quot; | average      ||! style=&amp;quot;background: #FF9900&amp;quot; | slow            ||! style=&amp;quot;background: #00FF00&amp;quot; | very fast       ||! style=&amp;quot;background: #FFFFFF&amp;quot; | average          ||! style=&amp;quot;background: #FFFFFF&amp;quot; | average         ||! style=&amp;quot;background: #FF9900&amp;quot; | slow         ||! style=&amp;quot;background: #FF9900&amp;quot; | slow           &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Decoding speed ||! style=&amp;quot;background: #FFFFFF&amp;quot; | average      ||! style=&amp;quot;background: #FF9900&amp;quot; | slow            ||! style=&amp;quot;background: #CCFFCC&amp;quot; | fast       ||! style=&amp;quot;background: #CCFFCC&amp;quot; | fast        ||! style=&amp;quot;background: #CCFFCC&amp;quot; | fast         ||! style=&amp;quot;background: #FF9900&amp;quot; | slow         ||! style=&amp;quot;background: #CCFFCC&amp;quot; | fast        &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Compression*   ||! style=&amp;quot;background: #00FF00&amp;quot; | 56.30%       ||! style=&amp;quot;background: #00FF00&amp;quot; | 53.50%           ||! style=&amp;quot;background: #CCFFCC&amp;quot; | 57.10%    ||! style=&amp;quot;background: #CCFFCC&amp;quot; | 57.20%     ||! style=&amp;quot;background: #CCFFCC&amp;quot; | 57.10%        ||! style=&amp;quot;background: #CCFFCC&amp;quot; | ?           ||! style=&amp;quot;background: #CCFFCC&amp;quot; | 57.0%            &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Flexibility**  ||! style=&amp;quot;background: #FF9900&amp;quot; | bad         ||! style=&amp;quot;background: #FFFFFF&amp;quot; | average          ||! style=&amp;quot;background: #FF9900&amp;quot; | bad            ||! style=&amp;quot;background: #FF9900&amp;quot; | bad             ||! style=&amp;quot;background: #00FF00&amp;quot; | very good     ||! style=&amp;quot;background: #FF9900&amp;quot; | bad     ||! style=&amp;quot;background: #FF9900&amp;quot; | bad              &lt;br /&gt;
|-&lt;br /&gt;
|! style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Error handling ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes             ||! style=&amp;quot;background: #FF9900&amp;quot; | no               ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;            &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Seeking        ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #00FF00&amp;quot; | yes              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes             ||! style=&amp;quot;background: #FF9900&amp;quot; | slow            ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #00FF00&amp;quot; | yes               &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Tagging        ||! style=&amp;quot;background: #CCFFCC&amp;quot; | Proprietary ||! style=&amp;quot;background: #CCFFCC&amp;quot; | ID3v1 ||! style=&amp;quot;background: #CCFFCC&amp;quot; | ID3       ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes        ||! style=&amp;quot;background: #00FF00&amp;quot; | yes        ||! style=&amp;quot;background: #CCFFCC&amp;quot; | Proprietary &lt;br /&gt;
|-|&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Hardware support &lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited        &lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no              &lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited             &lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Software support ||! style=&amp;quot;background: #CCFFCC&amp;quot; | good ||! style=&amp;quot;background: #FF9900&amp;quot; | bad             ||! style=&amp;quot;background: #FFFFFF&amp;quot; | average         ||! style=&amp;quot;background: #FFFFFF&amp;quot; | average          ||! style=&amp;quot;background: #FF9900&amp;quot; | bad          ||! style=&amp;quot;background: #FF9900&amp;quot; | bad          ||! style=&amp;quot;background: #FF9900&amp;quot; | bad              &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Hybrid/lossy   ||! style=&amp;quot;background: #FF9900&amp;quot; | no          ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #FF9900&amp;quot; | no           ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Replay Gain     ||! style=&amp;quot;background: #FF9900&amp;quot; | no          ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes             ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | RIFF chunks    ||! style=&amp;quot;background: #FF9900&amp;quot; | no          ||! style=&amp;quot;background: #00FF00&amp;quot; | yes              ||! style=&amp;quot;background: #FF9900&amp;quot; | no             ||! style=&amp;quot;background: #00FF00&amp;quot; | yes              ||! style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;        ||! style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;        ||! style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;            &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Streaming      ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;           ||! style=&amp;quot;background: #FF9900&amp;quot; | no             ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #00FF00&amp;quot; | yes               &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Pipe support   ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #00FF00&amp;quot; | yes              ||! style=&amp;quot;background: #FF9900&amp;quot; | no             ||! style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;           ||! style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;        ||! style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;        ||! style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Open source    ||! style=&amp;quot;background: #FF9900&amp;quot; | no          ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes             ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Multichannel   ||! style=&amp;quot;background: #00FF00&amp;quot; | yes          ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes             ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | High resolution ||! style=&amp;quot;background: #00FF00&amp;quot; | yes         ||! style=&amp;quot;background: #FF9900&amp;quot; | no              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes             ||! style=&amp;quot;background: #00FF00&amp;quot; | yes              ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #00FF00&amp;quot; | yes           ||! style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-|&lt;br /&gt;
|! align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | OS support     ||! style=&amp;quot;background: #CCFFCC&amp;quot; | Win/Mac ||! style=&amp;quot;background: #CCFFCC&amp;quot; | Win/Linux ||! style=&amp;quot;background: #00FF00&amp;quot; | All             ||! style=&amp;quot;background: #CCFFCC&amp;quot; | Win/Linux/Sol ||! style=&amp;quot;background: #00FF00&amp;quot; | All        ||! style=&amp;quot;background: #00FF00&amp;quot; | All        ||! style=&amp;quot;background: #00FF00&amp;quot; | Win/Mac/Linux     &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; The Compression ratio is calculated with the division of compressed size by uncompressed size * 100. So, lower is better.&lt;br /&gt;
&lt;br /&gt;
Encoding speed, Decoding speed and Compression ratio are based on each encoder&#039;s default settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; Flexibility refers to the amount of encoding choices offered to the users (Fast/low compression, Slow/high compression and everything inbetween)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are the most popular lossless codecs, in alphabetical order:&lt;br /&gt;
&lt;br /&gt;
== Apple Lossless Audio Codec (ALAC) ==&lt;br /&gt;
http://www.apple.com/itunes/import.html &lt;br /&gt;
&lt;br /&gt;
[[ALAC]] is a codec developed by Apple for usage in [[Apple iPod|iPod]] and AirPort Express.&lt;br /&gt;
&lt;br /&gt;
=== ALAC pros ===&lt;br /&gt;
* Very fast decoding&lt;br /&gt;
* [[Open source]] ([http://craz.net/programs/itunes/alac.html decoding only])&lt;br /&gt;
* Hardware support ([[Apple iPod|iPod]], AirPort Express)&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Tagging support (QT tags)&lt;br /&gt;
* Excellent hardware-software-lossy format integration with [[iTunes]]/iPod.&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
&lt;br /&gt;
=== ALAC cons ===&lt;br /&gt;
* Closed source (encoding)&lt;br /&gt;
* Limited software support&lt;br /&gt;
* Compression efficiency not on par with other lossless codecs&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
&lt;br /&gt;
=== ALAC Other features ===&lt;br /&gt;
* Fits in the [[MP4]] container&lt;br /&gt;
* Can be used with the AirPort Express gadget&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Free Lossless Audio Codec (FLAC) ==&lt;br /&gt;
http://flac.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
[[FLAC]] is a lossless codec developed by Josh Coalson. It&#039;s part of the Xiph multimedia portfolio, along with [[Ogg]], [[Vorbis]], [[Speex]] and [[Theora]].&lt;br /&gt;
&lt;br /&gt;
=== FLAC pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Very fast decoding&lt;br /&gt;
* Fast encoding&lt;br /&gt;
* Hardware support ([[Rio Karma|Karma]], Phatbox, etc.)&lt;br /&gt;
* Very good software support&lt;br /&gt;
* Error robustness&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
* Tagging support (FLAC tags)&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Pipe support&lt;br /&gt;
* [[Replay Gain]] compatible&lt;br /&gt;
&lt;br /&gt;
=== FLAC cons ===&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
&lt;br /&gt;
=== FLAC Other features ===&lt;br /&gt;
* Supports embedded CUE sheets (with [http://flac.sourceforge.net/faq.html#general__no_cuesheet_tags limitations])&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking&lt;br /&gt;
* Fits the [[Ogg]] and [[Matroska]] containers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LosslessAudio (LA) ==&lt;br /&gt;
http://www.lossless-audio.com/&lt;br /&gt;
&lt;br /&gt;
[[LA]] is a lossless codec developed by Michael Bevin.&lt;br /&gt;
&lt;br /&gt;
=== LA pros ===&lt;br /&gt;
* Very high compression&lt;br /&gt;
* Tagging support ([[ID3v1]])&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Pipe support&lt;br /&gt;
&lt;br /&gt;
=== LA cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* Very slow encoding and decoding&lt;br /&gt;
* Doesn&#039;t support [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
* No hardware support&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* Bad software support&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;It&#039;s important to mention that the LA foobar plugin is buggy and doesn&#039;t produce lossless streams!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lossless Predictive Audio Coder (LPAC) ==&lt;br /&gt;
http://www.nue.tu-berlin.de/wer/liebchen/lpac.html&lt;br /&gt;
&lt;br /&gt;
[[Lossless Predictive Audio Coder]] (LPAC) is a lossless codec developed by Tilman Liebchen. Development of it has been halted in favour of development of [[MPEG-4]] ALS.&lt;br /&gt;
&lt;br /&gt;
=== LPAC pros ===&lt;br /&gt;
* Reasonable compression ratios&lt;br /&gt;
* [[High resolution]] audio support&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
&lt;br /&gt;
=== LPAC cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* No error robustness&lt;br /&gt;
* Slow seeking&lt;br /&gt;
* No tagging&lt;br /&gt;
* No [[multichannel]] support&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* No hardware support&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Monkey&#039;s Audio (APE) ==&lt;br /&gt;
http://www.monkeysaudio.com/&lt;br /&gt;
&lt;br /&gt;
[[Monkey&#039;s Audio]] is a very efficient lossless compressor developed by Matt Ashland.&lt;br /&gt;
&lt;br /&gt;
=== APE pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* High efficiency&lt;br /&gt;
* Good software support&lt;br /&gt;
* Simple and user friendly. Official GUI provided.&lt;br /&gt;
* Java version (multiplatform)&lt;br /&gt;
* Tagging support ([[ID3v1]], [[APE tags]])&lt;br /&gt;
* [[High resolution]] audio support&lt;br /&gt;
* Supports [[RIFF]] chunks (only in the GUI encoder)&lt;br /&gt;
* Pipe support (only in a [http://www.etree.org/shnutils/shntool/ special] version)&lt;br /&gt;
&lt;br /&gt;
=== APE cons ===&lt;br /&gt;
* No [[multichannel]] support&lt;br /&gt;
* No error robustness&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* Limited hardware support ([http://www.engadget.com/2006/08/17/gemei-x-21-offers-ape-support/ Gemei X21])&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
=== APE Other features ===&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking&lt;br /&gt;
* Supports APL image link files (similar to CUE sheets)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MPEG-4 SLS ==&lt;br /&gt;
MPEG-4 SLS allows audio encoding from lossless scalable to [[AAC]].&lt;br /&gt;
&lt;br /&gt;
=== SLS pros ===&lt;br /&gt;
* Transcoding to standard AAC or any higher lossy bitrate at the speed of copying a file&lt;br /&gt;
* Scalable decoding from lossless, to any bitrate down to the AAC core track&lt;br /&gt;
* Best lossless compression available when you count the AAC track (~5% gain over any other lossless compression + AAC)&lt;br /&gt;
* [[High resolution]] audio support&lt;br /&gt;
* Multi channel audio support&lt;br /&gt;
* [[Open source]] (MPEG-4 Reference code)&lt;br /&gt;
* Embedded in standard MP4 files, so supports same tagging and Replay Gain features as AAC does.&lt;br /&gt;
&lt;br /&gt;
=== SLS cons ===&lt;br /&gt;
* No usable software available yet&lt;br /&gt;
* Pure lossless compression not the best there is&lt;br /&gt;
* Seems to be slow in encoding and decoding, but we have to wait for released software&lt;br /&gt;
&lt;br /&gt;
=== SLS Other features ===&lt;br /&gt;
* Transform based lossless codec with optional LC AAC core track&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OptimFROG (OFR) ==&lt;br /&gt;
http://losslessaudiocompression.com/&lt;br /&gt;
&lt;br /&gt;
[[OptimFROG]] is a lossless format developed by Florin Ghido to become the champion in audio compression.&lt;br /&gt;
&lt;br /&gt;
=== OFR pros ===&lt;br /&gt;
* Very high compression&lt;br /&gt;
* Good software support&lt;br /&gt;
* Error robustness&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Supports [[high resolution]]s&lt;br /&gt;
* Hybrid/lossy mode&lt;br /&gt;
* Tagging support ([[ID3]], [[APE tags]])&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* [[Replay Gain]] compatible&lt;br /&gt;
&lt;br /&gt;
=== OFR cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* No [[multichannel]] audio support&lt;br /&gt;
* No hardware support&lt;br /&gt;
* Quite slow decoding&lt;br /&gt;
&lt;br /&gt;
=== OFR Other features ===&lt;br /&gt;
* Supports 32bit float streams&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RealAudio Lossless (RAL) ==&lt;br /&gt;
http://www.realnetworks.com/products/codecs/realaudio.html&lt;br /&gt;
&lt;br /&gt;
RealAudio lossless is the lossless codec developed by Real Networks for their multimedia portfolio&lt;br /&gt;
&lt;br /&gt;
=== RAL pros ===&lt;br /&gt;
* Very fast decoding&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Tagging support (proprietary)&lt;br /&gt;
&lt;br /&gt;
=== RAL cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* No [[multichannel]] and [[high resolution]] audio support&lt;br /&gt;
* Little software support (Real Player)&lt;br /&gt;
* No hardware support&lt;br /&gt;
* Compression efficiency not on par with other lossless codecs&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* No pipe support&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Shorten (SHN) ==&lt;br /&gt;
http://www.etree.org/shnutils/shorten/&lt;br /&gt;
&lt;br /&gt;
[[Shorten]] is a very old and featureless lossless codec developed by Tony Robinson at SoftSound.&lt;br /&gt;
&lt;br /&gt;
=== SHN pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Fast decoding&lt;br /&gt;
* Very good software support&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Pipe support&lt;br /&gt;
&lt;br /&gt;
=== SHN cons ===&lt;br /&gt;
* Quite inefficient&lt;br /&gt;
* No [[multichannel]] or [[high resolution]] audio support&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* No error robustness&lt;br /&gt;
* Not streamable&lt;br /&gt;
* No hardware support&lt;br /&gt;
* No native tagging&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== True Audio (TTA) ==&lt;br /&gt;
http://www.true-audio.com/&lt;br /&gt;
&lt;br /&gt;
[[TTA]] is a new lossless codec developed by a team of russian programmers.&lt;br /&gt;
&lt;br /&gt;
=== TTA pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Good efficiency&lt;br /&gt;
* Hardware support (obscure DVD player)&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
* Tagging support ([[ID3]])&lt;br /&gt;
* [[Replay Gain]] compatible&lt;br /&gt;
* Error robustness&lt;br /&gt;
&lt;br /&gt;
=== TTA cons ===&lt;br /&gt;
* No streaming support&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* Doesn&#039;t support [[RIFF]] chunks&lt;br /&gt;
* No pipe support&lt;br /&gt;
&lt;br /&gt;
=== TTA Other features ===&lt;br /&gt;
* Fits the [[Matroska]] container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WavPack (WV) ==&lt;br /&gt;
http://www.wavpack.com/&lt;br /&gt;
&lt;br /&gt;
[[WavPack]] is a fast and featureful lossless codec developed by David Bryant.&lt;br /&gt;
&lt;br /&gt;
=== WV pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Very fast decoding&lt;br /&gt;
* Very fast encoding&lt;br /&gt;
* Good efficiency&lt;br /&gt;
* Error robustness&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Hardware support ([http://www.rockbox.org/ RockBox])&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
* Hybrid/lossy mode&lt;br /&gt;
* Tagging support ([[ID3v1]], [[APE tags]])&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Ability to create self extracting files for Win32 platform&lt;br /&gt;
* Pipe support&lt;br /&gt;
* Good software support&lt;br /&gt;
* [[Replay Gain]] compatible&lt;br /&gt;
&lt;br /&gt;
=== WV cons ===&lt;br /&gt;
* Limited hardware player support&lt;br /&gt;
&lt;br /&gt;
=== WV Other features ===&lt;br /&gt;
* Supports 32bit float streams&lt;br /&gt;
* Supports embedded CUE sheets&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking&lt;br /&gt;
* Can encode in both symmetrical and assymmetrical modes.&lt;br /&gt;
* Fits the [[Matroska]] container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio Lossless (WMAL) ==&lt;br /&gt;
http://www.microsoft.com/windows/windowsmedia/9series/codecs/audio.aspx&lt;br /&gt;
&lt;br /&gt;
WMA Lossless is the lossless codec developed by Microsoft to be featured in their Windows Media codec portfolio.&lt;br /&gt;
&lt;br /&gt;
=== WMAL pros ===&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Very good software support&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s.&lt;br /&gt;
* Tagging support (proprietary)&lt;br /&gt;
* Pipe support&lt;br /&gt;
&lt;br /&gt;
=== WMAL cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* Limited hardware support ([http://en.wikipedia.org/wiki/Gigabeat Gigabeat V and S line from Toshiba])&lt;br /&gt;
* Doesn&#039;t support [[RIFF]] chunks&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
=== WMAL Other features ===&lt;br /&gt;
* Fits the [[ASF]] container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Oddball Formats ==&lt;br /&gt;
There are several old lossless formats that aren&#039;t being featured in the article above. Reasons are: lack of widespread support, lack of features, bad efficiency and, most importantly, it seems noone is really interested in them.&lt;br /&gt;
&lt;br /&gt;
Most of those would have disappeared by now, but they are being preserved for posterity at [[User:Rjamorim|rjamorim]]&#039;s [http://www.rjamorim.com/rrw/ ReallyRareWares]&lt;br /&gt;
&lt;br /&gt;
=== Advanced Digital Audio (ADA) ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/ada.html&lt;br /&gt;
&lt;br /&gt;
=== Bonk ===&lt;br /&gt;
* http://www.logarithmic.net/pfh/bonk&lt;br /&gt;
&lt;br /&gt;
=== Marian&#039;s a-Pac ===&lt;br /&gt;
* http://www.marian.de/en/downloads#APAC&lt;br /&gt;
* http://www.rjamorim.com/rrw/apac.html&lt;br /&gt;
&lt;br /&gt;
=== AudioZip ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/audiozip.html&lt;br /&gt;
&lt;br /&gt;
=== Dakx WAV ===&lt;br /&gt;
* http://www.dakx.com/&lt;br /&gt;
* http://www.rjamorim.com/rrw/daxwav.html&lt;br /&gt;
&lt;br /&gt;
=== Entis Lab MIO ===&lt;br /&gt;
* http://www.entis.gr.jp/eri/frame.html&lt;br /&gt;
* http://www.rjamorim.com/rrw/mio.html&lt;br /&gt;
&lt;br /&gt;
=== LiteWave ===&lt;br /&gt;
* http://www.clearjump.com/products/LiteWave.html&lt;br /&gt;
* http://www.rjamorim.com/rrw/litewave.html&lt;br /&gt;
&lt;br /&gt;
=== Pegasus SPS ===&lt;br /&gt;
* http://www.krishnasoft.com/sps.htm&lt;br /&gt;
* http://www.rjamorim.com/rrw/pegasussps.html&lt;br /&gt;
&lt;br /&gt;
=== RK Audio (RKAU) ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/split2000.html&lt;br /&gt;
&lt;br /&gt;
=== Sonarc ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/sonarc.html&lt;br /&gt;
&lt;br /&gt;
=== VocPack ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/vocpack.html&lt;br /&gt;
&lt;br /&gt;
=== WavArc ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/wavarc.html&lt;br /&gt;
&lt;br /&gt;
=== WaveZip/MUSICompress ===&lt;br /&gt;
* http://members.aol.com/_ht_a/sndspace/&lt;br /&gt;
* http://www.rjamorim.com/rrw/wavezip.html&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Lossless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
=== Other lossless compressions comparisons ===&lt;br /&gt;
&#039;&#039;Sorted based on last &#039;&#039;&#039;update&#039;&#039;&#039; date.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [http://uclc.info/LossLess.pdf Johan De Bock&#039;s speed oriented comparison] - best choices speedwise are indicated in green, mostly electronic music (last updated 2006-07-22)&lt;br /&gt;
* [http://web.inter.nl.net/users/hvdh/lossless/lossless.htm Hans Heijden&#039;s] -- used as reference to build the table (last updated 2006-07-07)&lt;br /&gt;
* [http://synthetic-soul.co.uk/comparison/lossless/ Synthetic Soul&#039;s comparison] (last update 2007-07-28)&lt;br /&gt;
* [http://synthetic-soul.co.uk/comparison/josef/ Josef Pohm&#039;s comparison, hosted by Synthetic Soul] (last update 2006-05-29)&lt;br /&gt;
* [http://www.bobulous.org.uk/misc/lossless_audio_2006.html Bobulous&#039; lossless audio comparison] — a look at six lossless formats in terms of speed and file size (last updated 2006-05-22)&lt;br /&gt;
* [http://uclc.info/lossless_audio_compression_test.htm Johan De Bock&#039;s size oriented comparison] - aimed only at the maximum compression setting for each codec (based on a somewhat limited set of samples, however) (last updated 2006-05-19)&lt;br /&gt;
* [http://guruboolez.free.fr/lossless/ Guruboolez&#039;] -- comparing only classical music (last updated 2005-02-27)&lt;br /&gt;
* [http://members.home.nl/w.speek/comparison.htm Speek&#039;s] (last updated 2005-02-07)&lt;br /&gt;
&lt;br /&gt;
=== More on lossless compressions ===&lt;br /&gt;
* [http://losslessaudioblog.com/ The Lossless Audio Blog] - by windmiller, is a reliable and complete source of news about lossless compression.&lt;br /&gt;
* Go to the [http://www.hydrogenaudio.org/forums/index.php?showtopic=33226 Hydrogenaudio thread] to discuss this article.&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=EAC_and_Lame&amp;diff=17850</id>
		<title>EAC and Lame</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=EAC_and_Lame&amp;diff=17850"/>
		<updated>2007-09-19T12:27:08Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Added link to thread explaining why User Defined Encoder&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Software Needed===&lt;br /&gt;
* [http://exactaudiocopy.org/eac6.html Exact Audio Copy]&lt;br /&gt;
* [http://wiki.hydrogenaudio.org/index.php?title=Recommended_LAME Recommended LAME version]&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This guide assumes that EAC has been configured for secure ripping, if not please follow [[EAC_Drive_Configuration | this]] guide.&lt;br /&gt;
* Unzip the chosen LAME version into the same directory as EAC.&lt;br /&gt;
* If you would like to tag with APEv2 tags please download [http://www.saunalahti.fi/cse/files/wapet.zip wapet.zip] and unzip it into the &#039;&#039;&#039;same folder&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
* Open EAC and insert a CD into the drive.&lt;br /&gt;
* Click the &#039;&#039;&#039;EAC&#039;&#039;&#039; menu and select &#039;&#039;&#039;Compression Options&#039;&#039;&#039;.&lt;br /&gt;
* Click the &#039;&#039;&#039;External Compression&#039;&#039;&#039; Tab, and put a check box in &#039;&#039;&#039;Use external program for compression&#039;&#039;&#039;.&lt;br /&gt;
* Change &#039;&#039;&#039;Parameter passing scheme&#039;&#039;&#039; to &#039;&#039;&#039;User Defined Encoder&#039;&#039;&#039; (see [http://www.hydrogenaudio.org/forums/index.php?showtopic=57617 this thread] for reasoning).&lt;br /&gt;
* Change &#039;&#039;&#039;Use file extension&#039;&#039;&#039; to &#039;&#039;&#039;.mp3&#039;&#039;&#039;.&lt;br /&gt;
* Click the &#039;&#039;&#039;Browse&#039;&#039;&#039; button and locate the &#039;&#039;&#039;lame.exe&#039;&#039;&#039; that you unzipped into the EAC directory earlier.&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you want to tag with APEv2 tags using Wapet  please locate &#039;&#039;&#039;wapet.exe&#039;&#039;&#039;, not lame.exe.&lt;br /&gt;
* Don&#039;t worry which bit rate is shown in the &#039;&#039;&#039;Bit rate&#039;&#039;&#039; drop down box, as this will not have any effect on the resultant MP3 file (See Note 4 at the bottom of this page).&lt;br /&gt;
* Don&#039;t worry about the &#039;&#039;&#039;Use CRC check&#039;&#039;&#039; setting; it won&#039;t affect the resultant MP3 file either.&lt;br /&gt;
* It&#039;s a good idea to tick &#039;&#039;&#039;Check for external programs return code&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* If you want to let EAC tag your files, you can safely tick &#039;&#039;&#039;Add ID3 tag&#039;&#039;&#039;; and in the &#039;&#039;&#039;Additional command line options&#039;&#039;&#039; box, copy and paste the following string:&lt;br /&gt;
 &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-V 2 --vbr-new&#039;&#039;&#039;&amp;lt;/font&amp;gt; &#039;&#039;&#039;%s %d&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* If you prefer not to let EAC tag your files, untick &#039;&#039;&#039;Add ID3 tag&#039;&#039;&#039;; and in the &#039;&#039;&#039;Additional command line options&#039;&#039;&#039; box, copy and paste one of the strings below, based on the tag format you prefer:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No Tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-V 2 --vbr-new&#039;&#039;&#039;&amp;lt;/font&amp;gt; &#039;&#039;&#039;%s %d&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ID3v1:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-V 2 --vbr-new&#039;&#039;&#039;&amp;lt;/font&amp;gt; --id3v1-only --ta &amp;quot;%a&amp;quot; --tt &amp;quot;%t&amp;quot; --tg &amp;quot;%m&amp;quot; --tl &amp;quot;%g&amp;quot; --ty &amp;quot;%y&amp;quot; --tn &amp;quot;%n&amp;quot; &#039;&#039;&#039;%s %d&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ID3v2:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-V 2 --vbr-new&#039;&#039;&#039;&amp;lt;/font&amp;gt; --id3v2-only --pad-id3v2 --ta &amp;quot;%a&amp;quot; --tt &amp;quot;%t&amp;quot; --tg &amp;quot;%m&amp;quot; --tl &amp;quot;%g&amp;quot; --ty &amp;quot;%y&amp;quot; --tn &amp;quot;%n&amp;quot; &#039;&#039;&#039;%s %d&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ID3v1 and ID3v2:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-V 2 --vbr-new&#039;&#039;&#039;&amp;lt;/font&amp;gt; --add-id3v2 --pad-id3v2 --ta &amp;quot;%a&amp;quot; --tt &amp;quot;%t&amp;quot; --tg &amp;quot;%m&amp;quot; --tl &amp;quot;%g&amp;quot; --ty &amp;quot;%y&amp;quot; --tn &amp;quot;%n&amp;quot; &#039;&#039;&#039;%s %d&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-V 2 --vbr-new&#039;&#039;&#039;&amp;lt;/font&amp;gt; --ta &amp;quot;%a&amp;quot; --tt &amp;quot;%t&amp;quot; --tg &amp;quot;%m&amp;quot; --tl &amp;quot;%g&amp;quot; --ty &amp;quot;%y&amp;quot; --tn &amp;quot;%n&amp;quot; &#039;&#039;&#039;%s %d&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;Automatic&#039;&#039; means that by default only ID3v1 will be created. In case the length of at least one of the entries exceeds the permitted length of ID3v1, ID3v2 will be created in addition.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note on ID3 tagging:&#039;&#039;&#039; Lame will exit with an error if you try to write a non-standard genre to either of the ID3 tags.  If you experience this issue, either remove &#039;&#039;&#039;--tg &amp;quot;%m&amp;quot;&#039;&#039;&#039; from, or add &#039;&#039;&#039;--ignore-tag-errors&#039;&#039;&#039; to the command line; or simply allow EAC to tag since it doesn&#039;t have this problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;APEv2: (This requires [http://www.saunalahti.fi/cse/files/wapet.zip wapet.exe]. Remember to browse for wapet.exe instead of lame.exe as the external encoding program.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;%d&#039;&#039;&#039; -t &amp;quot;Artist=%a&amp;quot; -t &amp;quot;Title=%t&amp;quot; -t &amp;quot;Album=%g&amp;quot; -t &amp;quot;Year=%y&amp;quot; -t &amp;quot;Track=%n&amp;quot; -t &amp;quot;Genre=%m&amp;quot; &amp;lt;font style=&amp;quot;font style=&amp;quot;color:blue&amp;quot;&amp;gt;LAME.exe&amp;lt;/font&amp;gt; &amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;-V 2 --vbr-new&#039;&#039;&#039;&amp;lt;/font&amp;gt; &#039;&#039;&#039;%s %d&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&#039;&#039;&#039;Note 1:&#039;&#039;&#039; lame.exe needs to be in the same directory as wapet.exe.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&#039;&#039;&#039;Note 2:&#039;&#039;&#039; If you wanted to change the [[LAME#Encoder_Presets| LAME preset]], the green text denotes the part that needs to be altered.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note 3:&#039;&#039;&#039; The &#039;&#039;&#039;%s&#039;&#039;&#039; and &#039;&#039;&#039;%d&#039;&#039;&#039; at the end of each string are placeholders for EAC. &#039;&#039;&#039;%s&#039;&#039;&#039; means &#039;&#039;&#039;source&#039;&#039;&#039; filename and &#039;&#039;&#039;%d&#039;&#039;&#039; means &#039;&#039;&#039;destination&#039;&#039;&#039; filename.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:Red&amp;quot;&amp;gt;&#039;&#039;&#039;Note 4:&#039;&#039;&#039; The &#039;&#039;&#039;%l...%l&#039;&#039;&#039; and &#039;&#039;&#039;%h...%h&#039;&#039;&#039; placeholders are used to add text according to whether the High quality or Low quality radio button is selected, as shown below:&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;%l&amp;lt;/font&amp;gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;--preset 128&amp;lt;/font&amp;gt;&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;%l%h&amp;lt;/font&amp;gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;--preset standard&amp;lt;/font&amp;gt;&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;%h&#039;&#039;&#039;&amp;lt;/font&amp;gt; &#039;&#039;&#039;%s %d&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Therefore, if you select &#039;&#039;&#039;Low quality&#039;&#039;&#039;, EAC will invoke the LAME encoder with the following command line parameters:&lt;br /&gt;
&lt;br /&gt;
 LAME.exe --preset 128 &#039;&#039;&#039;%s %d&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
..and if you select &#039;&#039;&#039;High quality&#039;&#039;&#039; EAC will invoke LAME with these command line parameters:&lt;br /&gt;
&lt;br /&gt;
 LAME.exe --preset standard &#039;&#039;&#039;%s %d&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can access the bitrate value in the dropdown list using the &#039;&#039;&#039;%r&#039;&#039;&#039; placeholder, For Example:&lt;br /&gt;
&lt;br /&gt;
 --preset %r &#039;&#039;&#039;%s %d&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So, if you selected &#039;&#039;&#039;192 kBit/s&#039;&#039;&#039; in the &#039;&#039;&#039;Bit Rate&#039;&#039;&#039; drop-down list, the command line would be:&lt;br /&gt;
&lt;br /&gt;
 LAME.exe --preset 192 &#039;&#039;&#039;%s %d&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It is a generally accepted fact that the bitrate selected in the drop-down list doesn&#039;t affect the command line. In essence this is true, as it will not affect the command line &#039;&#039;unless you use the %r placeholder&#039;&#039;. However, using ABR or CBR over VBR is not recommended, and therefore you should never have to use the &#039;&#039;&#039;%r&#039;&#039;&#039; option.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:EAC_LAME02.png|frame|center|LAME configured with ID3v1 tagging]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
[[Category:EAC Guides|LAME &amp;amp; EAC]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17843</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17843"/>
		<updated>2007-09-17T11:38:54Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter.  This will treat the files as if they had just been created by EAC as per normal execution.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt;, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16h.zip REACT 2.0.ssb16h]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17842</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17842"/>
		<updated>2007-09-17T11:36:11Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Updated to 2.0.ssb16h&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 11/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16g, 17/09/07&lt;br /&gt;
* You can now process a WAVE/CUE/LOG combo by passing the full cuesheet path to REACT as a single parameter&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16h, 17/09/07&lt;br /&gt;
* Set &amp;lt;code&amp;gt;CoverDownloaderLocalPath&amp;lt;/code&amp;gt; to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader.  You may use $artist$ and $album$ tokens in the path, e.g.:&lt;br /&gt;
 CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16h.zip REACT 2.0.ssb16h]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17834</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17834"/>
		<updated>2007-09-11T10:48:22Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Updated to 2.0.ssb16f&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16f, 23/08/0711/09/07&lt;br /&gt;
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=512481 post] ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16f.zip REACT 2.0.ssb16f]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17832</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17832"/>
		<updated>2007-09-09T06:26:58Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Updated to 2.0.ssb16e&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16c, 21/08/07&lt;br /&gt;
* Add &amp;lt;code&amp;gt;CoverDownloaderXUI=1&amp;lt;/CODE&amp;gt; to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=511640 post] ).&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16d, 21/08/07&lt;br /&gt;
* Added BMP support to above.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16e, 23/08/07&lt;br /&gt;
* Fixed bug with above, where the artist and album did not change with the disc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16e.zip REACT 2.0.ssb16e]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17812</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17812"/>
		<updated>2007-08-21T13:08:08Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: Added cfg download&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] )&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16b.zip REACT 2.0.ssb16b]&lt;br /&gt;
&lt;br /&gt;
====Updated CFG files====&lt;br /&gt;
The zip below includes updated REACT.ini, REACT-track.cfg and REACT-image.cfg files, utilising various aspects of this mod, including  (but not restricted to) support for TAK, the ampersand fix, and disc-related tags.&lt;br /&gt;
&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT-cfgs_ssb16.zip REACT-cfgs_ssb16.zip]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17795</id>
		<title>REACT:Mods</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&amp;diff=17795"/>
		<updated>2007-08-15T14:15:36Z</updated>

		<summary type="html">&lt;p&gt;Synthetic Soul: b16b&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Synthetic Soul&#039;s Mod==&lt;br /&gt;
&lt;br /&gt;
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]&lt;br /&gt;
&lt;br /&gt;
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].&lt;br /&gt;
&lt;br /&gt;
===Key Points===&lt;br /&gt;
&lt;br /&gt;
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.&lt;br /&gt;
* Track-level tokens supported.&lt;br /&gt;
* Additional meta data added to cuesheets, as REM statements.&lt;br /&gt;
* Fixes issue in REACT with &#039;%&#039; in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] ).&lt;br /&gt;
* Fixes issue in REACT with &#039;&amp;amp;&#039; in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] ).&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
* Use Test &amp;amp; Copy by adding &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs.  This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).&lt;br /&gt;
&lt;br /&gt;
The dialogue is opened using &#039;&#039;&#039;Alt+F5&#039;&#039;&#039;.  The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also.  If you close the dialogue it is simply hidden from view, so your list items will stay intact.  Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.&lt;br /&gt;
&lt;br /&gt;
The current list state is recorded in a new file called &amp;quot;meta.ini&amp;quot; in your REACT folder.  The values in this INI are eventually used to replace tokens with values when your config runs.  The INI is updated any time that you update or delete an item.&lt;br /&gt;
&lt;br /&gt;
====Setting Defaults====&lt;br /&gt;
&lt;br /&gt;
Default tokens and their values can be set in the REACT.ini file, under the newly created &#039;&#039;&#039;DefaultMetaData&#039;&#039;&#039; section.  When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults.  The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see &#039;[[REACT:Mods#A Basic Alternative|A Basic Alternative]]&#039;).&lt;br /&gt;
&lt;br /&gt;
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of &#039;1&#039;.  If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to &#039;1&#039; when a new disc is inserted.  The article &#039;[[REACT:Adding Support For Disc Information]]&#039; details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.&lt;br /&gt;
&lt;br /&gt;
====Processing Tokens====&lt;br /&gt;
&lt;br /&gt;
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements.  Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values.  Track-level tokens are added beneath the appropriate TRACK statement.  Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR&#039;s $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}.  &lt;br /&gt;
&lt;br /&gt;
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@.  These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.&lt;br /&gt;
&lt;br /&gt;
====Track-Level Tokens====&lt;br /&gt;
&lt;br /&gt;
Most tokens are album-related.  If you want to set track-level tokens you should use the format &#039;&#039;&#039;&amp;lt;token name&amp;gt;[&amp;lt;track number&amp;gt;]&#039;&#039;&#039;, e.g.: &#039;&#039;&#039;composer[1]&#039;&#039;&#039; to set the composer token value for track one.  Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.&lt;br /&gt;
&lt;br /&gt;
====Using The Tokens====&lt;br /&gt;
&lt;br /&gt;
You can use both @ and $-style tokens in your config.  When using $ tokens any integer value will be zero-padded (&amp;quot;4&amp;quot; -&amp;gt; &amp;quot;04&amp;quot;) and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement.  Therefore, if you create a token called &#039;&#039;&#039;discname&#039;&#039;&#039; you can use @discname@ when tagging, and $discname$ when creating a file or folder name. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Basic Alternative===&lt;br /&gt;
If you want to use additional tokens in your config but do not want to use this mod you &#039;&#039;can&#039;&#039; add additional variables to the existing &#039;&#039;&#039;UserTrackFormats&#039;&#039;&#039;, &#039;&#039;&#039;UserOutputNames&#039;&#039;&#039;, and, &#039;&#039;more pertinently&#039;&#039;, &#039;&#039;&#039;UserSettings&#039;&#039;&#039; sections of REACT.ini.  You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Changelog===&lt;br /&gt;
2.0.ssb5, 03/05/07&lt;br /&gt;
* First public release.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb6, 04/05/07&lt;br /&gt;
* Additional Meta Data dialogue made child of EAC window.&lt;br /&gt;
* Changed function prefix from fGUI to fDiag to save confusion.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb8, 14/05/07&lt;br /&gt;
* Moved default values into REACT.ini.&lt;br /&gt;
* Fixed the code that writes track-level meta data to the cuesheet.&lt;br /&gt;
* Current token values now stored in &amp;quot;meta.ini&amp;quot;, not &amp;quot;metadata.ini&amp;quot;.&lt;br /&gt;
* Moved a little more code from the main source file into the include.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb9, 14/05/07&lt;br /&gt;
* Track cuesheets now supported.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb10, 30/05/07&lt;br /&gt;
* Added underscore prefix to identify temporary tokens.&lt;br /&gt;
* Fixed REACT issue with &amp;quot;%&amp;quot; in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=494794 post] )&lt;br /&gt;
* Fixed REACT issue with &amp;quot;&amp;amp;&amp;quot; in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=495493 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb11, 01/07/07&lt;br /&gt;
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=501821 post] )&lt;br /&gt;
* Will only rewrite INI file on major or minor version change, not a new build.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb12, 02/07/07&lt;br /&gt;
* Log file handling now works correctly for track ripping.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb13, 04/07/07&lt;br /&gt;
* Reverted cover filename to &amp;quot;&amp;lt;album&amp;gt;.jpg&amp;quot; irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=502330 post] )&lt;br /&gt;
&lt;br /&gt;
2.0.ssb15, 17/07/07&lt;br /&gt;
* Reverted @albumfile@ to &amp;quot;&amp;lt;sourcedir&amp;gt;\&amp;lt;album&amp;gt;&amp;quot;, irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=505038 post] )&lt;br /&gt;
* Add &amp;lt;code&amp;gt;Test=1&amp;lt;/code&amp;gt; under the Settings section of REACT.ini to use Test and Copy mode.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16, 29/07/07&lt;br /&gt;
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.&lt;br /&gt;
* Fixed bug with @ and $ values.  @totaldiscs@ will now correctly return &amp;quot;3&amp;quot;, while $totaldiscs$ will return &amp;quot;03&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.0.ssb16b, 15/08/07&lt;br /&gt;
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=50273&amp;amp;view=findpost&amp;amp;p=510414 post] )&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16b.zip REACT 2.0.ssb16b]&lt;br /&gt;
&lt;br /&gt;
[[Category:REACT|Mods]]&lt;/div&gt;</summary>
		<author><name>Synthetic Soul</name></author>
	</entry>
</feed>