<?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=Tycho</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=Tycho"/>
	<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Special:Contributions/Tycho"/>
	<updated>2026-05-14T20:30:45Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=15858</id>
		<title>REACT</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=15858"/>
		<updated>2006-12-11T19:19:08Z</updated>

		<summary type="html">&lt;p&gt;Tycho: &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;
==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;
&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=35158 &lt;br /&gt;
&lt;br /&gt;
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=36261&lt;/div&gt;</summary>
		<author><name>Tycho</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=15855</id>
		<title>REACT</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=15855"/>
		<updated>2006-12-11T14:28:28Z</updated>

		<summary type="html">&lt;p&gt;Tycho: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This page is under construction.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&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 version 2.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;
==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;
&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;
==Modifying the CFG files (advanced)==&lt;br /&gt;
&lt;br /&gt;
===Available Variables===&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=35158 &lt;br /&gt;
&lt;br /&gt;
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=36261&lt;/div&gt;</summary>
		<author><name>Tycho</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=15854</id>
		<title>REACT</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=15854"/>
		<updated>2006-12-11T14:17:36Z</updated>

		<summary type="html">&lt;p&gt;Tycho: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This page is under construction.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&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 version 2.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;
==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;
&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.&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;
==Modifying the CFG files (advanced)==&lt;br /&gt;
&lt;br /&gt;
===Available Variables===&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=35158 &lt;br /&gt;
&lt;br /&gt;
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=36261&lt;/div&gt;</summary>
		<author><name>Tycho</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=15853</id>
		<title>REACT</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=15853"/>
		<updated>2006-12-11T13:43:00Z</updated>

		<summary type="html">&lt;p&gt;Tycho: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This page is under construction.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&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 version 2.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;
==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;
&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;
&lt;br /&gt;
==Modifying the CFG files (advanced)==&lt;br /&gt;
&lt;br /&gt;
===Available Variables===&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=35158 &lt;br /&gt;
&lt;br /&gt;
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=36261&lt;/div&gt;</summary>
		<author><name>Tycho</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=15851</id>
		<title>REACT</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=15851"/>
		<updated>2006-12-10T21:57:37Z</updated>

		<summary type="html">&lt;p&gt;Tycho: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This page is under construction.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&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 version 2.1, 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;
==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 ripping to audio track files, and one for ripping 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;
&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.1&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 || 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;
| 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;
| ImageNaming || This variable detirmines how image files, and their cuesheets, will be named when REACT is used in 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;
| 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;
| 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;
&lt;br /&gt;
===UserTrackFormat Section===&lt;br /&gt;
===UserOutputNames Section===&lt;br /&gt;
===UserSettings Section===&lt;br /&gt;
&lt;br /&gt;
==Modifying the CFG files (Advanced)==&lt;br /&gt;
&lt;br /&gt;
===Available Variables===&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 ripped 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;
| @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;
| @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;
| @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=35158 &lt;br /&gt;
&lt;br /&gt;
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=36261&lt;/div&gt;</summary>
		<author><name>Tycho</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=15846</id>
		<title>REACT</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=15846"/>
		<updated>2006-12-09T20:05:35Z</updated>

		<summary type="html">&lt;p&gt;Tycho: &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;
&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 || Copy selected tracks. This activates the function Shift-F5 in EAC by default. 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;
=Available Variables=&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 ripped 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;
| @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;
| @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;
| @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;
=Global INI Keys=&lt;br /&gt;
&lt;br /&gt;
The first section of the REACT INI 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.&lt;br /&gt;
&lt;br /&gt;
Here is an example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Settings]&lt;br /&gt;
Version=2.1&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;
==A Few Of The Important INI Keys==&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 || 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;
| VA || Default set to &#039;Various Artists&#039;. The variable @va@ holds this string. See @cdartist@ above for more 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;
| ImageNaming || This variable detirmines how image files, and their cuesheets, will be named when REACT is used in 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;
| 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;
| 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;
&lt;br /&gt;
&lt;br /&gt;
=The Encoder Config Files=&lt;br /&gt;
&lt;br /&gt;
There are three config files in total; The INI file, one CFG file for ripping to audio track files, and one for ripping 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;
..To be continued...&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=35158 &lt;br /&gt;
&lt;br /&gt;
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=36261&lt;/div&gt;</summary>
		<author><name>Tycho</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=11247</id>
		<title>REACT</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=11247"/>
		<updated>2006-05-09T13:33:47Z</updated>

		<summary type="html">&lt;p&gt;Tycho: &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;
&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 || Open REACT.ini in notepad.&lt;br /&gt;
|-&lt;br /&gt;
| Alt-F3 || Browse Config files directory.&lt;br /&gt;
|-&lt;br /&gt;
| F4 || Copy selected tracks. This activates the function Shift-F5 in EAC by default. 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 SaveTracksCuesheets=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;
=Available Variables=&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&#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;
| @encdir@ || The path to the directory in which the encoders reside. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @mydocumentsdir@ || The path to your My Documents folder&lt;br /&gt;
|-&lt;br /&gt;
| @musicdir@ || The path to your music folder. Set within the INI file.  Used as a root for other paths&lt;br /&gt;
|-&lt;br /&gt;
| @sourcedir@ || The path to the folder in which the source files are located ([[WAV]]/LOG/CUE)&lt;br /&gt;
|-&lt;br /&gt;
| @basename@ || The name of the file being created, excluding extension &lt;br /&gt;
|-&lt;br /&gt;
| @removabledriveN@ || The path to your removable drive number N. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @destdirN@ || Directory path N used within your script. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @destN@ || File path N, used within your script. Set within a config file&lt;br /&gt;
|-&lt;br /&gt;
| @Various-destN@ || The file path to use if it is a Various Artists CD. Set within a config file&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;
| @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;
| @trackscuesheet@ || (from v0.999) The path to the cuesheet files without extension, created by [[Exact Audio Copy|EAC]] when hitting F4 and SaveTracksCuesheets=1 in the INI file. E.g, &amp;quot;@trackscuesheet@.[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.  Use $cdartist$ in 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&lt;br /&gt;
|-&lt;br /&gt;
| @islast@ || Whether the current track is the last, for track mode&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;
| @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;
=Global INI Keys=&lt;br /&gt;
&lt;br /&gt;
The first section of the REACT INI 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.&lt;br /&gt;
&lt;br /&gt;
Here is an example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Settings]&lt;br /&gt;
Config=FLAC&lt;br /&gt;
Version=1.0&lt;br /&gt;
EAC=C:\Program Files\Exact Audio Copy\EAC.exe&lt;br /&gt;
musicdir=C:\My Music&lt;br /&gt;
encdir=C:\Program Files\REACT\Encoders&lt;br /&gt;
LogFile=&lt;br /&gt;
CodePage=1252&lt;br /&gt;
MinimizeCompressionWindow=1&lt;br /&gt;
ProcessPriority=1&lt;br /&gt;
TracksHotKey={F4}&lt;br /&gt;
TracksHotVal=+{F5}&lt;br /&gt;
SaveTracksCuesheets=0&lt;br /&gt;
ImageHotKey={F10}&lt;br /&gt;
ImageNaming=$artist$ - ($year$) $album$&lt;br /&gt;
Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|&#039;|#|[|]&lt;br /&gt;
Debug=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==A Few Of The Important INI Keys==&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;
| Config || The encoder config file that REACT should process in the Config folder.&lt;br /&gt;
|-&lt;br /&gt;
| musicdir || The root directory for all your music.  If you are encoding to &amp;quot;C:\My Music\WavPack&amp;quot; and &amp;quot;C:\My Music\MP3&amp;quot; then you can set musicdir to &amp;quot;C:\My Music&amp;quot; and use this variable when setting your @destdirN@ variables.  this helps maintain clarity within your INI file.&lt;br /&gt;
|-&lt;br /&gt;
| encdir || REACT installs many encoders in a folder called &amp;quot;Encoders&amp;quot;.  Again, this variable can be used when referencing these applications, to maintain clarity.&lt;br /&gt;
|-&lt;br /&gt;
| LogFile || If you set a value to this variable a REACT log will be created with that name, e.g.: react.txt.  If left blank no log will be written.  This does not affect [[Exact Audio Copy|EAC]]&#039;s log file.&lt;br /&gt;
|-&lt;br /&gt;
| SaveTracksCuesheets || If set to 1, all four availabe types of cuesheets will be saved to the extraction directory, which must be preconfigured in EAC. This only happens when pressing F4, or whatever the key TracksHotkey is set to. The cuesheet base name can be accessed using the @trackscuesheet@ variable.&lt;br /&gt;
|-&lt;br /&gt;
| ImageNaming || This variable detirmines how image files, and their cuesheets, will be named when REACT is used in image mode.  You can use meta data variables here, e.g.: &amp;quot;$artist$ - $album$&amp;quot; to name the image using the artist and album name (filename-friendly values).&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;
| 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;
&lt;br /&gt;
&lt;br /&gt;
=The Encoder Config Files=&lt;br /&gt;
&lt;br /&gt;
The initial REACT INI contains a global settings section. This contains a key named Config=&amp;lt;ENCODER&amp;gt; which refers to configuration files in the Config folder.  There are two config files for each encoding; one for ripping to track files, and one for ripping to an image with cuesheet.&lt;br /&gt;
&lt;br /&gt;
The config files are stored in &amp;lt;REACT dir&amp;gt;\Config folder, and are named:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ENCODER&amp;gt;-tracks.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ENCODER&amp;gt;-image.txt&lt;br /&gt;
&lt;br /&gt;
The first part, &#039;&#039;&#039;ENCODER&#039;&#039;&#039;, is simply a unique name which indentifies the encoder tasks; however it makes sense to use the name of the encoder being used, like &amp;quot;FLAC&amp;quot; or &amp;quot;WAVPACK&amp;quot;.  This part of the section header is referred to by the global variable, &#039;&#039;&#039;[[REACT#A_Few_Of_The_Important_Ones|Config]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The second part (tracks or image) describes whether to perform when ripping to &#039;&#039;&#039;tracks&#039;&#039;&#039;, or to an &#039;&#039;&#039;image&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The encoder section consists of two parts:&lt;br /&gt;
&lt;br /&gt;
==Variable Initialisation==&lt;br /&gt;
&lt;br /&gt;
In the beginning of each config file you can set some variables.&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;
| !Description || A description of the processes within the section.&lt;br /&gt;
|-&lt;br /&gt;
| !ImageExt || The file extension of the image file, e.g.: &amp;quot;wv&amp;quot;.  Image sections only.&lt;br /&gt;
|-&lt;br /&gt;
| !CuesheetExt || The extension given to the cuesheet by [[Exact Audio Copy|EAC]], e.g.: &amp;quot;.wv.cue&amp;quot;.  Image sections only.&lt;br /&gt;
|-&lt;br /&gt;
|!WaveGainAnalysis || Set to 1 to enable a pre-run WaveGain analysis. Makes variables @gain@, @peak@ and @scale@ available for config scripts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It is likely that you will also need to set file and folder path variables, like @destN@ and @destdirN@. E.g.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;destdir1=@musicdir@\FLAC\$cdartist$\($year$) $album$&lt;br /&gt;
dest1=@destdir1@\$track$ - $title$&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above will set the folder path @destdir1@ using the global variable @musicdir@, and artist, year and album meta data.  It then sets the file path @dest1@ using @destdir1@ and the track and title meta data.  So, considering the following values for those variables:&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;
| musicdir|| C:\My Music&lt;br /&gt;
|-&lt;br /&gt;
| albumartist|| Ben Folds Five&lt;br /&gt;
|-&lt;br /&gt;
| album|| Whatever and Ever Amen&lt;br /&gt;
|-&lt;br /&gt;
| year|| 2000&lt;br /&gt;
|-&lt;br /&gt;
| track|| 03&lt;br /&gt;
|-&lt;br /&gt;
| title|| Brick&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
... we end up with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;destdir1=C:\My Music\FLAC\Ben Folds Five\(2000) Whatever and Ever Amen&lt;br /&gt;
dest1=C:\My Music\FLAC\Ben Folds Five\(2000) Whatever and Ever Amen\03 - Brick&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obviously the values of $track$ and $title$ will change per track.  Remember, $track$ will zero-pad the track number.&lt;br /&gt;
&lt;br /&gt;
==Config Tasks==&lt;br /&gt;
&lt;br /&gt;
Each line &#039;&#039;&#039;not&#039;&#039;&#039; starting with a &amp;quot;!&amp;quot; will be part of the config task script.&lt;br /&gt;
&lt;br /&gt;
The task script is simply a list of command line statements, utilising the variables that REACT exposes within the code.&lt;br /&gt;
&lt;br /&gt;
As an example, here is the default MP3-tracks.txt file.  Notice that all REACT variables are surrounded by two ampersands (@), or two dollar signs ($); all other code is standard DOS command line syntax.  With this in mind you will find working with REACT a lot easier if you are happy executing applications from the command line, more so if you have an understanding of batch files or command line scripting (what I think of as &#039;DOS scripts&#039;).&lt;br /&gt;
&lt;br /&gt;
MP3-tracks.txt:&lt;br /&gt;
&amp;lt;pre&amp;gt;!Description=LAME -V2 mp3 track files, RG album gain, APE2 and id3v1 tags&lt;br /&gt;
&lt;br /&gt;
!destdir1=@musicdir@\MP3\$cdartist$\($year$) $album$&lt;br /&gt;
!dest1=@destdir1@\$track$ - $title$&lt;br /&gt;
!Various-dest1=@destdir1@\$track$ - $title$ ($artist$)&lt;br /&gt;
&lt;br /&gt;
echo.&amp;gt; &amp;quot;@dest1@.mp3.tmp&amp;quot;&lt;br /&gt;
@encdir@\Tag.exe --nocheck --ape2 -t &amp;quot;ARTIST=@artist@&amp;quot; -t &amp;quot;ALBUM=@album@&amp;quot; -t &amp;quot;TRACK=@track@&amp;quot; -t &amp;quot;TITLE=@title@&amp;quot; -t &amp;quot;YEAR=@year@&amp;quot; -t &amp;quot;GENRE=@genre@&amp;quot; -t &amp;quot;TOTALTRACKS=@numtracks@&amp;quot; -t &amp;quot;FREEDB=@freedbid@&amp;quot; -t &amp;quot;CRC=@crc@&amp;quot; &amp;quot;@dest1@.mp3.tmp&amp;quot;&lt;br /&gt;
move &amp;quot;@source@&amp;quot; &amp;quot;@dest1@.wav&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if @islast@==1 (&lt;br /&gt;
  move &amp;quot;@eaclog@&amp;quot; &amp;quot;@destdir1@\eaclog.txt&amp;quot;&lt;br /&gt;
  move &amp;quot;@trackscuesheet@.[*].cue&amp;quot; &amp;quot;@destdir1@&amp;quot;&lt;br /&gt;
  start @encdir@\albumart.exe &amp;quot;@artist@&amp;quot; &amp;quot;@album@&amp;quot; &amp;quot;@destdir1@\cover.jpg&amp;quot;&lt;br /&gt;
  cd /d &amp;quot;@destdir1@&amp;quot;&lt;br /&gt;
  @encdir@\WaveGain.exe -a *.wav --exec @encdir@\lame.exe -V2 --vbr-new --scale %%ALBUM_SCALE%% --tc &amp;quot;AG appl:%%ALBUM_GAIN%%,TG:%%TRACK_GAIN%% dB&amp;quot; &amp;quot;%%INPUT_NAME%%.wav&amp;quot; &amp;quot;%%INPUT_NAME%%.mp3&amp;quot;&lt;br /&gt;
  for %%i in (*.mp3) do @encdir@\Tag.exe --force id3v1 --force ape2 --fromfile &amp;quot;%%i.tmp&amp;quot; &amp;quot;%%i&amp;quot;&lt;br /&gt;
  del &amp;quot;*.mp3.tmp&amp;quot; &amp;quot;*.wav&amp;quot;&lt;br /&gt;
)&amp;lt;/pre&amp;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=35158 &lt;br /&gt;
&lt;br /&gt;
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=36261&lt;/div&gt;</summary>
		<author><name>Tycho</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=11246</id>
		<title>REACT</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=11246"/>
		<updated>2006-05-09T13:29:51Z</updated>

		<summary type="html">&lt;p&gt;Tycho: &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;
&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 || Open REACT.ini in notepad.&lt;br /&gt;
|-&lt;br /&gt;
| Alt-F3 || Browse Config files directory.&lt;br /&gt;
|-&lt;br /&gt;
| F4 || Copy selected tracks. This enables the function Shift-F5 in EAC by default. 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 SaveTracksCuesheets=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;
=Available Variables=&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&#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;
| @encdir@ || The path to the directory in which the encoders reside. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @mydocumentsdir@ || The path to your My Documents folder&lt;br /&gt;
|-&lt;br /&gt;
| @musicdir@ || The path to your music folder. Set within the INI file.  Used as a root for other paths&lt;br /&gt;
|-&lt;br /&gt;
| @sourcedir@ || The path to the folder in which the source files are located ([[WAV]]/LOG/CUE)&lt;br /&gt;
|-&lt;br /&gt;
| @basename@ || The name of the file being created, excluding extension &lt;br /&gt;
|-&lt;br /&gt;
| @removabledriveN@ || The path to your removable drive number N. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @destdirN@ || Directory path N used within your script. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @destN@ || File path N, used within your script. Set within a config file&lt;br /&gt;
|-&lt;br /&gt;
| @Various-destN@ || The file path to use if it is a Various Artists CD. Set within a config file&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;
| @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;
| @trackscuesheet@ || (from v0.999) The path to the cuesheet files without extension, created by [[Exact Audio Copy|EAC]] when hitting F4 and SaveTracksCuesheets=1 in the INI file. E.g, &amp;quot;@trackscuesheet@.[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.  Use $cdartist$ in 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&lt;br /&gt;
|-&lt;br /&gt;
| @islast@ || Whether the current track is the last, for track mode&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;
| @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;
=Global INI Keys=&lt;br /&gt;
&lt;br /&gt;
The first section of the REACT INI 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.&lt;br /&gt;
&lt;br /&gt;
Here is an example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Settings]&lt;br /&gt;
Config=FLAC&lt;br /&gt;
Version=1.0&lt;br /&gt;
EAC=C:\Program Files\Exact Audio Copy\EAC.exe&lt;br /&gt;
musicdir=C:\My Music&lt;br /&gt;
encdir=C:\Program Files\REACT\Encoders&lt;br /&gt;
LogFile=&lt;br /&gt;
CodePage=1252&lt;br /&gt;
MinimizeCompressionWindow=1&lt;br /&gt;
ProcessPriority=1&lt;br /&gt;
TracksHotKey={F4}&lt;br /&gt;
TracksHotVal=+{F5}&lt;br /&gt;
SaveTracksCuesheets=0&lt;br /&gt;
ImageHotKey={F10}&lt;br /&gt;
ImageNaming=$artist$ - ($year$) $album$&lt;br /&gt;
Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|&#039;|#|[|]&lt;br /&gt;
Debug=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==A Few Of The Important INI Keys==&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;
| Config || The encoder config file that REACT should process in the Config folder.&lt;br /&gt;
|-&lt;br /&gt;
| musicdir || The root directory for all your music.  If you are encoding to &amp;quot;C:\My Music\WavPack&amp;quot; and &amp;quot;C:\My Music\MP3&amp;quot; then you can set musicdir to &amp;quot;C:\My Music&amp;quot; and use this variable when setting your @destdirN@ variables.  this helps maintain clarity within your INI file.&lt;br /&gt;
|-&lt;br /&gt;
| encdir || REACT installs many encoders in a folder called &amp;quot;Encoders&amp;quot;.  Again, this variable can be used when referencing these applications, to maintain clarity.&lt;br /&gt;
|-&lt;br /&gt;
| LogFile || If you set a value to this variable a REACT log will be created with that name, e.g.: react.txt.  If left blank no log will be written.  This does not affect [[Exact Audio Copy|EAC]]&#039;s log file.&lt;br /&gt;
|-&lt;br /&gt;
| SaveTracksCuesheets || If set to 1, all four availabe types of cuesheets will be saved to the extraction directory, which must be preconfigured in EAC. This only happens when pressing F4, or whatever the key TracksHotkey is set to. The cuesheet base name can be accessed using the @trackscuesheet@ variable.&lt;br /&gt;
|-&lt;br /&gt;
| ImageNaming || This variable detirmines how image files, and their cuesheets, will be named when REACT is used in image mode.  You can use meta data variables here, e.g.: &amp;quot;$artist$ - $album$&amp;quot; to name the image using the artist and album name (filename-friendly values).&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;
| 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;
&lt;br /&gt;
&lt;br /&gt;
=The Encoder Config Files=&lt;br /&gt;
&lt;br /&gt;
The initial REACT INI contains a global settings section. This contains a key named Config=&amp;lt;ENCODER&amp;gt; which refers to configuration files in the Config folder.  There are two config files for each encoding; one for ripping to track files, and one for ripping to an image with cuesheet.&lt;br /&gt;
&lt;br /&gt;
The config files are stored in &amp;lt;REACT dir&amp;gt;\Config folder, and are named:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ENCODER&amp;gt;-tracks.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ENCODER&amp;gt;-image.txt&lt;br /&gt;
&lt;br /&gt;
The first part, &#039;&#039;&#039;ENCODER&#039;&#039;&#039;, is simply a unique name which indentifies the encoder tasks; however it makes sense to use the name of the encoder being used, like &amp;quot;FLAC&amp;quot; or &amp;quot;WAVPACK&amp;quot;.  This part of the section header is referred to by the global variable, &#039;&#039;&#039;[[REACT#A_Few_Of_The_Important_Ones|Config]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The second part (tracks or image) describes whether to perform when ripping to &#039;&#039;&#039;tracks&#039;&#039;&#039;, or to an &#039;&#039;&#039;image&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The encoder section consists of two parts:&lt;br /&gt;
&lt;br /&gt;
==Variable Initialisation==&lt;br /&gt;
&lt;br /&gt;
In the beginning of each config file you can set some variables.&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;
| !Description || A description of the processes within the section.&lt;br /&gt;
|-&lt;br /&gt;
| !ImageExt || The file extension of the image file, e.g.: &amp;quot;wv&amp;quot;.  Image sections only.&lt;br /&gt;
|-&lt;br /&gt;
| !CuesheetExt || The extension given to the cuesheet by [[Exact Audio Copy|EAC]], e.g.: &amp;quot;.wv.cue&amp;quot;.  Image sections only.&lt;br /&gt;
|-&lt;br /&gt;
|!WaveGainAnalysis || Set to 1 to enable a pre-run WaveGain analysis. Makes variables @gain@, @peak@ and @scale@ available for config scripts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It is likely that you will also need to set file and folder path variables, like @destN@ and @destdirN@. E.g.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;destdir1=@musicdir@\FLAC\$cdartist$\($year$) $album$&lt;br /&gt;
dest1=@destdir1@\$track$ - $title$&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above will set the folder path @destdir1@ using the global variable @musicdir@, and artist, year and album meta data.  It then sets the file path @dest1@ using @destdir1@ and the track and title meta data.  So, considering the following values for those variables:&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;
| musicdir|| C:\My Music&lt;br /&gt;
|-&lt;br /&gt;
| albumartist|| Ben Folds Five&lt;br /&gt;
|-&lt;br /&gt;
| album|| Whatever and Ever Amen&lt;br /&gt;
|-&lt;br /&gt;
| year|| 2000&lt;br /&gt;
|-&lt;br /&gt;
| track|| 03&lt;br /&gt;
|-&lt;br /&gt;
| title|| Brick&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
... we end up with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;destdir1=C:\My Music\FLAC\Ben Folds Five\(2000) Whatever and Ever Amen&lt;br /&gt;
dest1=C:\My Music\FLAC\Ben Folds Five\(2000) Whatever and Ever Amen\03 - Brick&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obviously the values of $track$ and $title$ will change per track.  Remember, $track$ will zero-pad the track number.&lt;br /&gt;
&lt;br /&gt;
==Config Tasks==&lt;br /&gt;
&lt;br /&gt;
Each line &#039;&#039;&#039;not&#039;&#039;&#039; starting with a &amp;quot;!&amp;quot; will be part of the config task script.&lt;br /&gt;
&lt;br /&gt;
The task script is simply a list of command line statements, utilising the variables that REACT exposes within the code.&lt;br /&gt;
&lt;br /&gt;
As an example, here is the default LAME-tracks.txt file.  Notice that all REACT variables are surrounded by two ampersands (@), or two dollar signs ($); all other code is standard DOS command line syntax.  With this in mind you will find working with REACT a lot easier if you are happy executing applications from the command line, more so if you have an understanding of batch files or command line scripting (what I think of as &#039;DOS scripts&#039;).&lt;br /&gt;
&lt;br /&gt;
MP3-tracks.txt:&lt;br /&gt;
&amp;lt;pre&amp;gt;!Description=LAME -V2 mp3 track files, RG album gain, APE2 and id3v1 tags&lt;br /&gt;
&lt;br /&gt;
!destdir1=@musicdir@\MP3\$cdartist$\($year$) $album$&lt;br /&gt;
!dest1=@destdir1@\$track$ - $title$&lt;br /&gt;
!Various-dest1=@destdir1@\$track$ - $title$ ($artist$)&lt;br /&gt;
&lt;br /&gt;
echo.&amp;gt; &amp;quot;@dest1@.mp3.tmp&amp;quot;&lt;br /&gt;
@encdir@\Tag.exe --nocheck --ape2 -t &amp;quot;ARTIST=@artist@&amp;quot; -t &amp;quot;ALBUM=@album@&amp;quot; -t &amp;quot;TRACK=@track@&amp;quot; -t &amp;quot;TITLE=@title@&amp;quot; -t &amp;quot;YEAR=@year@&amp;quot; -t &amp;quot;GENRE=@genre@&amp;quot; -t &amp;quot;TOTALTRACKS=@numtracks@&amp;quot; -t &amp;quot;FREEDB=@freedbid@&amp;quot; -t &amp;quot;CRC=@crc@&amp;quot; &amp;quot;@dest1@.mp3.tmp&amp;quot;&lt;br /&gt;
move &amp;quot;@source@&amp;quot; &amp;quot;@dest1@.wav&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if @islast@==1 (&lt;br /&gt;
  move &amp;quot;@eaclog@&amp;quot; &amp;quot;@destdir1@\eaclog.txt&amp;quot;&lt;br /&gt;
  move &amp;quot;@trackscuesheet@.[*].cue&amp;quot; &amp;quot;@destdir1@&amp;quot;&lt;br /&gt;
  start @encdir@\albumart.exe &amp;quot;@artist@&amp;quot; &amp;quot;@album@&amp;quot; &amp;quot;@destdir1@\cover.jpg&amp;quot;&lt;br /&gt;
  cd /d &amp;quot;@destdir1@&amp;quot;&lt;br /&gt;
  @encdir@\WaveGain.exe -a *.wav --exec @encdir@\lame.exe -V2 --vbr-new --scale %%ALBUM_SCALE%% --tc &amp;quot;AG appl:%%ALBUM_GAIN%%,TG:%%TRACK_GAIN%% dB&amp;quot; &amp;quot;%%INPUT_NAME%%.wav&amp;quot; &amp;quot;%%INPUT_NAME%%.mp3&amp;quot;&lt;br /&gt;
  for %%i in (*.mp3) do @encdir@\Tag.exe --force id3v1 --force ape2 --fromfile &amp;quot;%%i.tmp&amp;quot; &amp;quot;%%i&amp;quot;&lt;br /&gt;
  del &amp;quot;*.mp3.tmp&amp;quot; &amp;quot;*.wav&amp;quot;&lt;br /&gt;
)&amp;lt;/pre&amp;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=35158 &lt;br /&gt;
&lt;br /&gt;
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=36261&lt;/div&gt;</summary>
		<author><name>Tycho</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=11177</id>
		<title>REACT</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=11177"/>
		<updated>2006-05-01T17:58:49Z</updated>

		<summary type="html">&lt;p&gt;Tycho: &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;
&lt;br /&gt;
=Available Variables=&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&#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;
| @encdir@ || The path to the directory in which the encoders reside. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @mydocumentsdir@ || The path to your My Documents folder&lt;br /&gt;
|-&lt;br /&gt;
| @musicdir@ || The path to your music folder. Set within the INI file.  Used as a root for other paths&lt;br /&gt;
|-&lt;br /&gt;
| @sourcedir@ || The path to the folder in which the source files are located ([[WAV]]/LOG/CUE)&lt;br /&gt;
|-&lt;br /&gt;
| @basename@ || The name of the file being created, excluding extension &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;@destbase@&amp;lt;/span&amp;gt; || @destbase@ was deprecated in 0.997.  Use @sourcedir@\@basename@ instead&lt;br /&gt;
|-&lt;br /&gt;
| @removabledriveN@ || The path to your removable drive number N. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @destdirN@ || Directory path N used within your script. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @destN@ || File path N, used within your script. Set within a config file&lt;br /&gt;
|-&lt;br /&gt;
| @Various-destN@ || The file path to use if it is a Various Artists CD. Set within a config file&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;
| @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;
| @trackscuesheet@ || (from v0.999) The path to the cuesheet files without extension, created by [[Exact Audio Copy|EAC]] when hitting F4 and SaveTracksCuesheets=1 in the INI file. E.g, &amp;quot;@trackscuesheet@.[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.  Use $cdartist$ in 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&lt;br /&gt;
|-&lt;br /&gt;
| @islast@ || Whether the current track is the last, for track mode&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;
| @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;
=Global INI Keys=&lt;br /&gt;
&lt;br /&gt;
The first section of the REACT INI 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.&lt;br /&gt;
&lt;br /&gt;
Here is an example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Config=FLAC&lt;br /&gt;
EAC=C:\Program Files\Exact Audio Copy\EAC.exe&lt;br /&gt;
musicdir=C:\My Music&lt;br /&gt;
encdir=C:\Program Files\REACT\Encoders&lt;br /&gt;
LogFile=react.txt&lt;br /&gt;
CodePage=1252&lt;br /&gt;
MinimizeCompressionWindow=1&lt;br /&gt;
ProcessPriority=1&lt;br /&gt;
TracksHotkey={F4}&lt;br /&gt;
SaveTracksCuesheets=0&lt;br /&gt;
ImageHotkey={F10}&lt;br /&gt;
ImageNaming=$artist$ - $album$&lt;br /&gt;
AutoCloseSaveImageDialog=0&lt;br /&gt;
Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|&#039;|#|[|]&lt;br /&gt;
Version=0.999&lt;br /&gt;
Debug=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==A Few Of The Important INI Keys==&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;
| Config || The encoder config file that REACT should process in the Config folder.&lt;br /&gt;
|-&lt;br /&gt;
| musicdir || The root directory for all your music.  If you are encoding to &amp;quot;C:\My Music\WavPack&amp;quot; and &amp;quot;C:\My Music\MP3&amp;quot; then you can set musicdir to &amp;quot;C:\My Music&amp;quot; and use this variable when setting your @destdirN@ variables.  this helps maintain clarity within your INI file.&lt;br /&gt;
|-&lt;br /&gt;
| encdir || REACT installs many encoders in a folder called &amp;quot;Encoders&amp;quot;.  Again, this variable can be used when referencing these applications, to maintain clarity.&lt;br /&gt;
|-&lt;br /&gt;
| LogFile || If you set a value to this variable a REACT log will be created with that name, e.g.: react.txt.  If left blank no log will be written.  This does not affect [[Exact Audio Copy|EAC]]&#039;s log file.&lt;br /&gt;
|-&lt;br /&gt;
| SaveTracksCuesheets || If set to 1, all four availabe types of cuesheets will be saved to the extraction directory, which must be preconfigured in EAC. This only happens when pressing F4, or whatever the key TracksHotkey is set to. The cuesheet base name can be accessed using the @trackscuesheet@ variable.&lt;br /&gt;
|-&lt;br /&gt;
| ImageNaming || This variable detirmines how image files, and their cuesheets, will be named when REACT is used in image mode.  You can use meta data variables here, e.g.: &amp;quot;$artist$ - $album$&amp;quot; to name the image using the artist and album name (filename-friendly values).&lt;br /&gt;
|-&lt;br /&gt;
| AutoCloseSaveImageDialog || If set to 1, when pressing F10, the save image wavform dialog will close automatically and the name generated using ImageNaming is used.&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;
| 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;
&lt;br /&gt;
&lt;br /&gt;
=The Encoder Config Files=&lt;br /&gt;
&lt;br /&gt;
The initial REACT INI contains a global settings section. This contains a key named Config=&amp;lt;ENCODER&amp;gt; which refers to configuration files in the Config folder.  There are two config files for each encoding; one for ripping to track files, and one for ripping to an image with cuesheet.&lt;br /&gt;
&lt;br /&gt;
The config files are stored in &amp;lt;REACT dir&amp;gt;\Config folder, and are named:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ENCODER&amp;gt;-tracks.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ENCODER&amp;gt;-image.txt&lt;br /&gt;
&lt;br /&gt;
The first part, &#039;&#039;&#039;ENCODER&#039;&#039;&#039;, is simply a unique name which indentifies the encoder tasks; however it makes sense to use the name of the encoder being used, like &amp;quot;FLAC&amp;quot; or &amp;quot;WAVPACK&amp;quot;.  This part of the section header is referred to by the global variable, &#039;&#039;&#039;[[REACT#A_Few_Of_The_Important_Ones|Config]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The second part (tracks or image) describes whether to perform when ripping to &#039;&#039;&#039;tracks&#039;&#039;&#039;, or to an &#039;&#039;&#039;image&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The encoder section consists of two parts:&lt;br /&gt;
&lt;br /&gt;
==Variable Initialisation==&lt;br /&gt;
&lt;br /&gt;
In the beginning of each config file you can set some variables.&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;
| !Description || A description of the processes within the section.&lt;br /&gt;
|-&lt;br /&gt;
| !ImageExt || The file extension of the image file, e.g.: &amp;quot;wv&amp;quot;.  Image sections only.&lt;br /&gt;
|-&lt;br /&gt;
| !CuesheetExt || The extension given to the cuesheet by [[Exact Audio Copy|EAC]], e.g.: &amp;quot;.wv.cue&amp;quot;.  Image sections only.&lt;br /&gt;
|-&lt;br /&gt;
|!WaveGainAnalysis || Set to 1 to enable a pre-run WaveGain analysis. Makes variables @gain@, @peak@ and @scale@ available for config scripts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It is likely that you will also need to set file and folder path variables, like @destN@ and @destdirN@. E.g.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;destdir1=@musicdir@\FLAC\$cdartist$\($year$) $album$&lt;br /&gt;
dest1=@destdir1@\$track$ - $title$&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above will set the folder path @destdir1@ using the global variable @musicdir@, and artist, year and album meta data.  It then sets the file path @dest1@ using @destdir1@ and the track and title meta data.  So, considering the following values for those variables:&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;
| musicdir|| C:\My Music&lt;br /&gt;
|-&lt;br /&gt;
| albumartist|| Ben Folds Five&lt;br /&gt;
|-&lt;br /&gt;
| album|| Whatever and Ever Amen&lt;br /&gt;
|-&lt;br /&gt;
| year|| 2000&lt;br /&gt;
|-&lt;br /&gt;
| track|| 03&lt;br /&gt;
|-&lt;br /&gt;
| title|| Brick&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
... we end up with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;destdir1=C:\My Music\FLAC\Ben Folds Five\(2000) Whatever and Ever Amen&lt;br /&gt;
dest1=C:\My Music\FLAC\Ben Folds Five\(2000) Whatever and Ever Amen\03 - Brick&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obviously the values of $track$ and $title$ will change per track.  Remember, $track$ will zero-pad the track number.&lt;br /&gt;
&lt;br /&gt;
==Config Tasks==&lt;br /&gt;
&lt;br /&gt;
Each line &#039;&#039;&#039;not&#039;&#039;&#039; starting with a &amp;quot;!&amp;quot; will be part of the config task script.&lt;br /&gt;
&lt;br /&gt;
The task script is simply a list of command line statements, utilising the variables that REACT exposes within the code.&lt;br /&gt;
&lt;br /&gt;
As an example, here is the default LAME-tracks.txt file.  Notice that all REACT variables are surrounded by two ampersands (@), or two dollar signs ($); all other code is standard DOS command line syntax.  With this in mind you will find working with REACT a lot easier if you are happy executing applications from the command line, more so if you have an understanding of batch files or command line scripting (what I think of as &#039;DOS scripts&#039;).&lt;br /&gt;
&lt;br /&gt;
LAME-tracks.txt:&lt;br /&gt;
&amp;lt;pre&amp;gt;!Description=LAME -V2 mp3 track files, RG album gain, APE2 and id3v1 tags&lt;br /&gt;
!destdir1=@musicdir@\MP3\$cdartist$\($year$) $album$&lt;br /&gt;
!dest1=@destdir1@\$track$ - $title$&lt;br /&gt;
!Various-dest1=@destdir1@\$track$ - $title$ ($artist$)&lt;br /&gt;
&lt;br /&gt;
echo.&amp;gt; &amp;quot;@dest1@.mp3.tmp&amp;quot;&lt;br /&gt;
@encdir@\Tag.exe --nocheck --ape2 -t &amp;quot;ARTIST=@artist@&amp;quot; -t &amp;quot;ALBUM=@album@&amp;quot; -t &amp;quot;TRACK=@track@&amp;quot; -t &amp;quot;TITLE=@title@&amp;quot; -t &amp;quot;YEAR=@year@&amp;quot; -t &amp;quot;GENRE=@genre@&amp;quot; -t &amp;quot;TOTALTRACKS=@numtracks@&amp;quot; -t &amp;quot;FREEDB=@freedbid@&amp;quot; -t &amp;quot;CRC=@crc@&amp;quot; &amp;quot;@dest1@.mp3.tmp&amp;quot;&lt;br /&gt;
move &amp;quot;@source@&amp;quot; &amp;quot;@dest1@.wav&amp;quot;&lt;br /&gt;
if @islast@==0 goto end&lt;br /&gt;
  cd /d &amp;quot;@destdir1@&amp;quot;&lt;br /&gt;
  move &amp;quot;@eaclog@&amp;quot; &amp;quot;EAC_log.txt&amp;quot;&lt;br /&gt;
  @encdir@\WaveGain.exe -a *.wav --exec @encdir@\lame.exe -V2 --vbr-new --scale %%ALBUM_SCALE%% --tc &amp;quot;AG appl:%%ALBUM_GAIN%%,TG:%%TRACK_GAIN%% dB&amp;quot; &amp;quot;%%INPUT_NAME%%.wav&amp;quot; &amp;quot;%%INPUT_NAME%%.mp3&amp;quot;&lt;br /&gt;
  for %%i in (*.mp3) do @encdir@\Tag.exe --force id3v1 --force ape2 --fromfile &amp;quot;%%i.tmp&amp;quot; &amp;quot;%%i&amp;quot;&lt;br /&gt;
  del &amp;quot;*.mp3.tmp&amp;quot; &amp;quot;*.wav&amp;quot;&lt;br /&gt;
:end&amp;lt;/pre&amp;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=35158 &lt;br /&gt;
&lt;br /&gt;
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=36261&lt;/div&gt;</summary>
		<author><name>Tycho</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=11140</id>
		<title>REACT</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=11140"/>
		<updated>2006-04-28T20:40:05Z</updated>

		<summary type="html">&lt;p&gt;Tycho: &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;
&lt;br /&gt;
=Available Variables=&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&#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;
| @encdir@ || The path to the directory in which the encoders reside. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @mydocumentsdir@ || The path to your My Documents folder&lt;br /&gt;
|-&lt;br /&gt;
| @musicdir@ || The path to your music folder. Set within the INI file.  Used as a root for other paths&lt;br /&gt;
|-&lt;br /&gt;
| @sourcedir@ || The path to the folder in which the source files are located ([[WAV]]/LOG/CUE)&lt;br /&gt;
|-&lt;br /&gt;
| @basename@ || The name of the file being created, excluding extension &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;@destbase@&amp;lt;/span&amp;gt; || @destbase@ was deprecated in 0.997.  Use @sourcedir@\@basename@ instead&lt;br /&gt;
|-&lt;br /&gt;
| @removabledriveN@ || The path to your removable drive number N. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @destdirN@ || Directory path N used within your script. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @destN@ || File path N, used within your script. Set within the INI file (encoder track section)&lt;br /&gt;
|-&lt;br /&gt;
| @Various-destN@ || The file path to use if it is a Various Artists CD. Set within the INI file (encoder track section)&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;
| @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;
| @trackscuesheet@ || (from v0.999) The path to the cuesheet files without extension, created by [[Exact Audio Copy|EAC]] when hitting F4 and SaveAllCuesheets=1 in the INI file. E.g, &amp;quot;@trackscuesheet@.[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.  Use $cdartist$ in 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&lt;br /&gt;
|-&lt;br /&gt;
| @islast@ || Whether the current track is the last, for track mode&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;
| @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;
=Global INI Keys=&lt;br /&gt;
&lt;br /&gt;
The first section of the REACT INI 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.&lt;br /&gt;
&lt;br /&gt;
Here is an example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Config=FLAC&lt;br /&gt;
EAC=C:\Program Files\Exact Audio Copy\EAC.exe&lt;br /&gt;
musicdir=C:\My Music&lt;br /&gt;
encdir=C:\Program Files\REACT\Encoders&lt;br /&gt;
LogFile=react.txt&lt;br /&gt;
CodePage=1252&lt;br /&gt;
MinimizeCompressionWindow=1&lt;br /&gt;
ProcessPriority=1&lt;br /&gt;
TracksHotkey={F4}&lt;br /&gt;
SaveTracksCuesheets=0&lt;br /&gt;
ImageHotkey={F10}&lt;br /&gt;
ImageNaming=$artist$ - $album$&lt;br /&gt;
Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|&#039;|#|[|]&lt;br /&gt;
Version=0.999&lt;br /&gt;
Debug=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==A Few Of The Important INI Keys==&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;
| Config || The encoder section that REACT should process.  This will only be effective if the [[Exact Audio Copy|EAC]] command line begins with the parameter &amp;quot;REACT&amp;quot;.  You could, instead, amend the command line parameter to the section prefix, e.g.: &amp;quot;FLAC&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| musicdir || The root directory for all your music.  If you are encoding to &amp;quot;C:\My Music\WavPack&amp;quot; and &amp;quot;C:\My Music\MP3&amp;quot; then you can set musicdir to &amp;quot;C:\My Music&amp;quot; and use this variable when setting your @destdirN@ variables.  this helps maintain clarity within your INI file.&lt;br /&gt;
|-&lt;br /&gt;
| encdir || REACT installs many encoders in a folder called &amp;quot;Encoders&amp;quot;.  Again, this variable can be used when referencing these applications, to maintain clarity.&lt;br /&gt;
|-&lt;br /&gt;
| LogFile || If you set a value to this variable a REACT log will be created with that name, e.g.: react.txt.  If left blank no log will be written.  This does not affect [[Exact Audio Copy|EAC]]&#039;s log file.&lt;br /&gt;
|-&lt;br /&gt;
| SaveTracksCuesheets || If set to 1, all four availabe types of cuesheets will be saved to the extraction directory, which must be preconfigured in EAC. This only happens when pressing F4, or whatever the key TracksHotkey is set to. The cuesheet base name can be accessed using the @trackscuesheet@ variable.&lt;br /&gt;
|-&lt;br /&gt;
| ImageNaming || This variable detirmines how image files, and their cuesheets, will be named when REACT is used in image mode.  You can use meta data variables here, e.g.: &amp;quot;$artist$ - $album$&amp;quot; to name the image using the artist and album name (filename-friendly values).&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;
| 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;
&lt;br /&gt;
&lt;br /&gt;
=The Encoder Config Files=&lt;br /&gt;
&lt;br /&gt;
The initial REACT INI contains a global settings section. This contains a key named Config=&amp;lt;ENCODER&amp;gt; which refers to configuration files in the Config folder.  There are two config files for each encoding; one for ripping to track files, and one for ripping to an image with cuesheet.&lt;br /&gt;
&lt;br /&gt;
The config files are stored in &amp;lt;REACT dir&amp;gt;\Config folder, and are named:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ENCODER&amp;gt;-tracks.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ENCODER&amp;gt;-image.txt&lt;br /&gt;
&lt;br /&gt;
The first part, &#039;&#039;&#039;ENCODER&#039;&#039;&#039;, is simply a unique name which indentifies the encoder tasks; however it makes sense to use the name of the encoder being used, like &amp;quot;FLAC&amp;quot; or &amp;quot;WAVPACK&amp;quot;.  This part of the section header is referred to by the global variable, &#039;&#039;&#039;[[REACT#A_Few_Of_The_Important_Ones|Config]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The second part (tracks or image) describes whether to perform when ripping to &#039;&#039;&#039;tracks&#039;&#039;&#039;, or to an &#039;&#039;&#039;image&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The encoder section consists of two parts:&lt;br /&gt;
&lt;br /&gt;
==Variable Initialisation==&lt;br /&gt;
&lt;br /&gt;
In the beginning of each config file you should set variables relative to that config.&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;
| !Description || A description of the processes within the section.&lt;br /&gt;
|-&lt;br /&gt;
| !ImageExt || The file extension of the image file, e.g.: &amp;quot;wv&amp;quot;.  Image sections only.&lt;br /&gt;
|-&lt;br /&gt;
| !CuesheetExt || The extension given to the cuesheet by [[Exact Audio Copy|EAC]], e.g.: &amp;quot;.wv.cue&amp;quot;.  Image sections only.&lt;br /&gt;
|-&lt;br /&gt;
|!WaveGainAnalysis || Set to 1 to enable a pre-run WaveGain analysis. Makes variables @gain@, @peak@ and @scale@ available for config scripts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It is likely that you will also need to set file and folder path variables, like @destN@ and @destdirN@. E.g.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;destdir1=@musicdir@\FLAC\$cdartist$\($year$) $album$&lt;br /&gt;
dest1=@destdir1@\$track$ - $title$&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above will set the folder path @destdir1@ using the global variable @musicdir@, and artist, year and album meta data.  It then sets the file path @dest1@ using @destdir1@ and the track and title meta data.  So, considering the following values for those variables:&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;
| musicdir|| C:\My Music&lt;br /&gt;
|-&lt;br /&gt;
| albumartist|| Ben Folds Five&lt;br /&gt;
|-&lt;br /&gt;
| album|| Whatever and Ever Amen&lt;br /&gt;
|-&lt;br /&gt;
| year|| 2000&lt;br /&gt;
|-&lt;br /&gt;
| track|| 03&lt;br /&gt;
|-&lt;br /&gt;
| title|| Brick&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
... we end up with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;destdir1=C:\My Music\FLAC\Ben Folds Five\(2000) Whatever and Ever Amen&lt;br /&gt;
dest1=C:\My Music\FLAC\Ben Folds Five\(2000) Whatever and Ever Amen\03 - Brick&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obviously the values of $track$ and $title$ will change per track.  Remember, $track$ will zero-pad the track number.&lt;br /&gt;
&lt;br /&gt;
==Config Tasks==&lt;br /&gt;
&lt;br /&gt;
Each line &#039;&#039;&#039;not&#039;&#039;&#039; starting with a &amp;quot;!&amp;quot; will be part of the config task script.&lt;br /&gt;
&lt;br /&gt;
The task script is simply a list of command line statements, utilising the variables that REACT exposes within the code.&lt;br /&gt;
&lt;br /&gt;
As an example, here is the default LAME-tracks.txt file.  Notice that all REACT variables are surrounded by two ampersands (@), or two dollar signs ($); all other code is standard DOS command line syntax.  With this in mind you will find working with REACT a lot easier if you are happy executing applications from the command line, more so if you have an understanding of batch files or command line scripting (what I think of as &#039;DOS scripts&#039;).&lt;br /&gt;
&lt;br /&gt;
LAME-tracks.txt:&lt;br /&gt;
&amp;lt;pre&amp;gt;!Description=LAME -V2 mp3 track files, RG album gain, APE2 and id3v1 tags&lt;br /&gt;
!destdir1=@musicdir@\MP3\$cdartist$\($year$) $album$&lt;br /&gt;
!dest1=@destdir1@\$track$ - $title$&lt;br /&gt;
!Various-dest1=@destdir1@\$track$ - $title$ ($artist$)&lt;br /&gt;
&lt;br /&gt;
echo.&amp;gt; &amp;quot;@dest1@.mp3.tmp&amp;quot;&lt;br /&gt;
@encdir@\Tag.exe --nocheck --ape2 -t &amp;quot;ARTIST=@artist@&amp;quot; -t &amp;quot;ALBUM=@album@&amp;quot; -t &amp;quot;TRACK=@track@&amp;quot; -t &amp;quot;TITLE=@title@&amp;quot; -t &amp;quot;YEAR=@year@&amp;quot; -t &amp;quot;GENRE=@genre@&amp;quot; -t &amp;quot;TOTALTRACKS=@numtracks@&amp;quot; -t &amp;quot;FREEDB=@freedbid@&amp;quot; -t &amp;quot;CRC=@crc@&amp;quot; &amp;quot;@dest1@.mp3.tmp&amp;quot;&lt;br /&gt;
move &amp;quot;@source@&amp;quot; &amp;quot;@dest1@.wav&amp;quot;&lt;br /&gt;
if @islast@==0 goto end&lt;br /&gt;
  cd /d &amp;quot;@destdir1@&amp;quot;&lt;br /&gt;
  move &amp;quot;@eaclog@&amp;quot; &amp;quot;EAC_log.txt&amp;quot;&lt;br /&gt;
  @encdir@\WaveGain.exe -a *.wav --exec @encdir@\lame.exe -V2 --vbr-new --scale %%ALBUM_SCALE%% --tc &amp;quot;AG appl:%%ALBUM_GAIN%%,TG:%%TRACK_GAIN%% dB&amp;quot; &amp;quot;%%INPUT_NAME%%.wav&amp;quot; &amp;quot;%%INPUT_NAME%%.mp3&amp;quot;&lt;br /&gt;
  for %%i in (*.mp3) do @encdir@\Tag.exe --force id3v1 --force ape2 --fromfile &amp;quot;%%i.tmp&amp;quot; &amp;quot;%%i&amp;quot;&lt;br /&gt;
  del &amp;quot;*.mp3.tmp&amp;quot; &amp;quot;*.wav&amp;quot;&lt;br /&gt;
:end&amp;lt;/pre&amp;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=35158 &lt;br /&gt;
&lt;br /&gt;
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=36261&lt;/div&gt;</summary>
		<author><name>Tycho</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=11139</id>
		<title>REACT</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=REACT&amp;diff=11139"/>
		<updated>2006-04-28T17:30:53Z</updated>

		<summary type="html">&lt;p&gt;Tycho: Update from v0.997 to 0.999&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;
&lt;br /&gt;
=Available Variables=&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&#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;
| @encdir@ || The path to the directory in which the encoders reside. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @mydocumentsdir@ || The path to your My Documents folder&lt;br /&gt;
|-&lt;br /&gt;
| @musicdir@ || The path to your music folder. Set within the INI file.  Used as a root for other paths&lt;br /&gt;
|-&lt;br /&gt;
| @sourcedir@ || The path to the folder in which the source files are located ([[WAV]]/LOG/CUE)&lt;br /&gt;
|-&lt;br /&gt;
| @basename@ || The name of the file being created, excluding extension &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;@destbase@&amp;lt;/span&amp;gt; || @destbase@ was deprecated in 0.997.  Use @sourcedir@\@basename@ instead&lt;br /&gt;
|-&lt;br /&gt;
| @removabledriveN@ || The path to your removable drive number N. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @destdirN@ || Directory path N used within your script. Set within the INI file&lt;br /&gt;
|-&lt;br /&gt;
| @destN@ || File path N, used within your script. Set within the INI file (encoder track section)&lt;br /&gt;
|-&lt;br /&gt;
| @Various-destN@ || The file path to use if it is a Various Artists CD. Set within the INI file (encoder track section)&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;
| @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;
| @trackscuesheets@ || (from v0.999) The path to the cuesheet files without extension, created by [[Exact Audio Copy|EAC]] when hitting F4 and SaveAllCuesheets=1 in the INI file. E.g, &amp;quot;@trackscuesheets@.[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.  Use $cdartist$ in 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&lt;br /&gt;
|-&lt;br /&gt;
| @islast@ || Whether the current track is the last, for track mode&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;
| @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;
=Global INI Variables=&lt;br /&gt;
&lt;br /&gt;
The first section of the REACT INI sets some global variables, 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.&lt;br /&gt;
&lt;br /&gt;
Here is an example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Config=FLAC&lt;br /&gt;
EAC=C:\Program Files\Exact Audio Copy\EAC.exe&lt;br /&gt;
musicdir=C:\My Music&lt;br /&gt;
encdir=C:\Program Files\REACT\Encoders&lt;br /&gt;
LogFile=react.txt&lt;br /&gt;
CodePage=1252&lt;br /&gt;
MinimizeCompressionWindow=1&lt;br /&gt;
ProcessPriority=1&lt;br /&gt;
TracksHotkey={F4}&lt;br /&gt;
SaveTracksCuesheets=0&lt;br /&gt;
ImageHotkey={F10}&lt;br /&gt;
ImageNaming=$artist$ - $album$&lt;br /&gt;
Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|&#039;|#|[|]&lt;br /&gt;
Version=0.999&lt;br /&gt;
Debug=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==A Few Of The Important Ones==&lt;br /&gt;
&lt;br /&gt;
Some of the variables 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;
| Config || The encoder section that REACT should process.  This will only be effective if the [[Exact Audio Copy|EAC]] command line begins with the parameter &amp;quot;REACT&amp;quot;.  You could, instead, amend the command line parameter to the section prefix, e.g.: &amp;quot;FLAC&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| musicdir || The root directory for all your music.  If you are encoding to &amp;quot;C:\My Music\WavPack&amp;quot; and &amp;quot;C:\My Music\MP3&amp;quot; then you can set musicdir to &amp;quot;C:\My Music&amp;quot; and use this variable when setting your @destdirN@ variables.  this helps maintain clarity within your INI file.&lt;br /&gt;
|-&lt;br /&gt;
| encdir || REACT installs many encoders in a folder called &amp;quot;Encoders&amp;quot;.  Again, this variable can be used when referencing these applications, to maintain clarity.&lt;br /&gt;
|-&lt;br /&gt;
| LogFile || If you set a value to this variable a REACT log will be created with that name, e.g.: react.txt.  If left blank no log will be written.  This does not affect [[Exact Audio Copy|EAC]]&#039;s log file.&lt;br /&gt;
|-&lt;br /&gt;
| ImageNaming || This variable detirmines how image files, and their cuesheets, will be named when REACT is used in image mode.  You can use meta data variables here, e.g.: &amp;quot;$artist$ - $album$&amp;quot; to name the image using the artist and album name (filename-friendly values).&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;
| Debug || If you are having problems with your INI 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;
&lt;br /&gt;
&lt;br /&gt;
=The Encoder Config Files=&lt;br /&gt;
&lt;br /&gt;
The initial REACT INI contains a global settings section. This contains a key named Config=&amp;lt;ENCODER&amp;gt; which refers to configuration files in the Config folder.  There are two config files for each encoding; one for ripping to track files, and one for ripping to an image with cuesheet.&lt;br /&gt;
&lt;br /&gt;
The config files are stored in &amp;lt;REACT dir&amp;gt;\Config folder, and are named:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ENCODER&amp;gt;-tracks.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ENCODER&amp;gt;-image.txt&lt;br /&gt;
&lt;br /&gt;
The first part, &#039;&#039;&#039;ENCODER&#039;&#039;&#039;, is simply a unique name which indentifies the encoder tasks; however it makes sense to use the name of the encoder being used, like &amp;quot;FLAC&amp;quot; or &amp;quot;WAVPACK&amp;quot;.  This part of the section header is referred to by the global variable, &#039;&#039;&#039;[[REACT#A_Few_Of_The_Important_Ones|Config]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The second part (tracks or image) describes whether to perform when ripping to &#039;&#039;&#039;tracks&#039;&#039;&#039;, or to an &#039;&#039;&#039;image&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The encoder section consists of two parts:&lt;br /&gt;
&lt;br /&gt;
==Variable Initialisation==&lt;br /&gt;
&lt;br /&gt;
In the beginning of each config file you should set variables relative to that config.&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;
| !Description || A description of the processes within the section.&lt;br /&gt;
|-&lt;br /&gt;
| !ImageExt || The file extension of the image file, e.g.: &amp;quot;wv&amp;quot;.  Image sections only.&lt;br /&gt;
|-&lt;br /&gt;
| !CuesheetExt || The extension given to the cuesheet by [[Exact Audio Copy|EAC]], e.g.: &amp;quot;.wv.cue&amp;quot;.  Image sections only.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It is likely that you will also need to set file and folder path variables, like @destN@ and @destdirN@. E.g.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;destdir1=@musicdir@\FLAC\$cdartist$\($year$) $album$&lt;br /&gt;
dest1=@destdir1@\$track$ - $title$&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above will set the folder path @destdir1@ using the global variable @musicdir@, and artist, year and album meta data.  It then sets the file path @dest1@ using @destdir1@ and the track and title meta data.  So, considering the following values for those variables:&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;
| musicdir|| C:\My Music&lt;br /&gt;
|-&lt;br /&gt;
| albumartist|| Ben Folds Five&lt;br /&gt;
|-&lt;br /&gt;
| album|| Whatever and Ever Amen&lt;br /&gt;
|-&lt;br /&gt;
| year|| 2000&lt;br /&gt;
|-&lt;br /&gt;
| track|| 03&lt;br /&gt;
|-&lt;br /&gt;
| title|| Brick&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
... we end up with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;destdir1=C:\My Music\FLAC\Ben Folds Five\(2000) Whatever and Ever Amen&lt;br /&gt;
dest1=C:\My Music\FLAC\Ben Folds Five\(2000) Whatever and Ever Amen\03 - Brick&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obviously the values of $track$ and $title$ will change per track.  Remember, $track$ will zero-pad the track number.&lt;br /&gt;
&lt;br /&gt;
==Config Tasks==&lt;br /&gt;
&lt;br /&gt;
Each line &#039;&#039;&#039;not&#039;&#039;&#039; starting with a &amp;quot;!&amp;quot; will be part of the config task script.&lt;br /&gt;
&lt;br /&gt;
The task script is simply a list of command line statements, utilising the variables that REACT exposes within the code.&lt;br /&gt;
&lt;br /&gt;
As an example, here is the default LAME-tracks.txt file.  Notice that all REACT variables are surrounded by two ampersands (@), or two dollar signs ($); all other code is standard DOS command line syntax.  With this in mind you will find working with REACT a lot easier if you are happy executing applications from the command line, more so if you have an understanding of batch files or command line scripting (what I think of as &#039;DOS scripts&#039;).&lt;br /&gt;
&lt;br /&gt;
LAME-tracks.txt:&lt;br /&gt;
&amp;lt;pre&amp;gt;!Description=LAME -V2 mp3 track files, RG album gain, APE2 and id3v1 tags&lt;br /&gt;
!destdir1=@musicdir@\MP3\$cdartist$\($year$) $album$&lt;br /&gt;
!dest1=@destdir1@\$track$ - $title$&lt;br /&gt;
!Various-dest1=@destdir1@\$track$ - $title$ ($artist$)&lt;br /&gt;
&lt;br /&gt;
echo.&amp;gt; &amp;quot;@dest1@.mp3.tmp&amp;quot;&lt;br /&gt;
@encdir@\Tag.exe --nocheck --ape2 -t &amp;quot;ARTIST=@artist@&amp;quot; -t &amp;quot;ALBUM=@album@&amp;quot; -t &amp;quot;TRACK=@track@&amp;quot; -t &amp;quot;TITLE=@title@&amp;quot; -t &amp;quot;YEAR=@year@&amp;quot; -t &amp;quot;GENRE=@genre@&amp;quot; -t &amp;quot;TOTALTRACKS=@numtracks@&amp;quot; -t &amp;quot;FREEDB=@freedbid@&amp;quot; -t &amp;quot;CRC=@crc@&amp;quot; &amp;quot;@dest1@.mp3.tmp&amp;quot;&lt;br /&gt;
move &amp;quot;@source@&amp;quot; &amp;quot;@dest1@.wav&amp;quot;&lt;br /&gt;
if @islast@==0 goto end&lt;br /&gt;
  cd /d &amp;quot;@destdir1@&amp;quot;&lt;br /&gt;
  move &amp;quot;@eaclog@&amp;quot; &amp;quot;EAC_log.txt&amp;quot;&lt;br /&gt;
  @encdir@\WaveGain.exe -a *.wav --exec @encdir@\lame.exe -V2 --vbr-new --scale %%ALBUM_SCALE%% --tc &amp;quot;AG appl:%%ALBUM_GAIN%%,TG:%%TRACK_GAIN%% dB&amp;quot; &amp;quot;%%INPUT_NAME%%.wav&amp;quot; &amp;quot;%%INPUT_NAME%%.mp3&amp;quot;&lt;br /&gt;
  for %%i in (*.mp3) do @encdir@\Tag.exe --force id3v1 --force ape2 --fromfile &amp;quot;%%i.tmp&amp;quot; &amp;quot;%%i&amp;quot;&lt;br /&gt;
  del &amp;quot;*.mp3.tmp&amp;quot; &amp;quot;*.wav&amp;quot;&lt;br /&gt;
:end&amp;lt;/pre&amp;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=35158 &lt;br /&gt;
&lt;br /&gt;
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=36261&lt;/div&gt;</summary>
		<author><name>Tycho</name></author>
	</entry>
</feed>