https://wiki.hydrogenaud.io/api.php?action=feedcontributions&user=Akkurat&feedformat=atomHydrogenaudio Knowledgebase - User contributions [en]2024-03-28T17:07:51ZUser contributionsMediaWiki 1.22.7https://wiki.hydrogenaud.io/index.php?title=EAC_and_FLACEAC and FLAC2011-04-27T23:34:58Z<p>Akkurat: Changed REACT solution.</p>
<hr />
<div>= Software Needed =<br />
* [http://www.exactaudiocopy.de/en/index.php/resources/download/ Exact Audio Copy]<br />
* [http://flac.sourceforge.net/download.html FLAC 1.2.1b]<br />
<br />
= Installation =<br />
'''Note:''' This guide assumes that EAC is has been configured for secure ripping, if not please follow [[EAC_Drive_Configuration | this]] guide.<br />
* Install FLAC using the FLAC installer<br />
<br />
= Configuration =<br />
* Open EAC and insert a CD into the drive.<br />
* Click the '''EAC''' menu and select '''Compression Options'''.<br />
* Click the '''External Compression''' Tab, and put a tick in the box for '''use external program for compression'''.<br />
* Change '''Parameter Passing Scheme''' to '''User Defined Encoder'''.<br />
* Change '''Use file extension''' to '''.flac''' if not already that.<br />
* Click the '''Browse''' button and locate the '''FLAC.exe''' that you unzipped earlier.<br />
* Remove the ticks from '''Use CRC check''' and '''Add ID3 tag'''.<br />
* Tick '''Check for external programs return code'''.<br />
* In the '''Addtional command line options''' box, copy and paste the below string.<br />
<br />
-T "artist=%a" -T "title=%t" -T "album=%g" -T "date=%y" -T "tracknumber=%n" -T "genre=%m" <font style="color:green">'''-5'''</font> %s<br />
<br />
<span style="color:green">'''Note:''' The green portion is where you would change the compression level or add settings for the FLAC encoder.</span><br />
<br />
* Do not worry what bit rate is shown in the bit rate drop down box, this will be ignored, as will the quality setting chosen below it.<br />
<br />
[[Image:EACandFLAC.png|frame|center|FLAC configured with tagging support]]<br />
<br />
= Cue Sheet & Image Problem =<br />
Using this configuration with EAC when creating an image and cue sheet rip can cause the cue sheet not to work with the resulting FLAC file. The problem is caused by EAC not liking the four letter .flac extension, which results in EAC putting the extension on to the image name twice.<br />
<br />
e.g. the image name is referenced in the cue sheet as "myflacimage.flac" but after encoding it ends up being called "myflacimage.flac.flac", so when you open the cue sheet for playing or burning, the referenced file doesen't exist.<br />
<br />
== Some solutions to the problem ==<br />
* Synthetic Soul's [http://www.hydrogenaudio.org/forums/index.php?showtopic=37978 batch file method]<br />
* [http://wiki.hydrogenaudio.org/index.php?title=REACT REACT] EAC addon.<br />
<br />
[[Category:Guides]]<br />
[[Category:EAC Guides|FLAC & EAC]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACTREACT2011-04-27T23:27:27Z<p>Akkurat: Removed a dead link.</p>
<hr />
<div>REACT ('''R'''un '''EAC''' '''T'''asks) can be used in conjunction with [[Exact Audio Copy]] (EAC), as an external compressor.<br />
<br />
It is, however, not an encoder, but an interim application that provides a scripting facility to call multiple 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. '''In short''', REACT allows you to run multiple tasks on the audio extracted, instead of only one.<br />
<br />
'''REACT is designed to work only with whole album extraction/ripping.'''<br />
<br />
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.<br />
<br />
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 '''@artist@''' in the script will be replaced by the [[freedb]] artist name, while '''$artist$''' will be replaced with a ''filename-friendly'' version of the artist name (with illegal characters replaced according to your requirements).<br />
<br />
'''From REACT v2.0 Final, most configuration can be done by editing the INI file only'''. Only advanced users should edit the .cfg files.<br />
<br />
REACT v2.0 as published does not currently work with EAC 0.99 prebeta 1-4 due to a naming scheme mismatch between old and new EAC versions. This has been solved in [[REACT:Mods#Synthetic_Soul.27s_Mod|Synthetic Soul's Mod]] or [[REACT:Mods#Akkurat.27s_Mod|Akkurat's Mod]] of REACT. Using EAC 0.99 prebeta 5 is only supported by [[REACT:Mods#Akkurat.27s_Mod|Akkurat's Mod]]. The mods have also fixed a number of known bugs and introduced new features. Before using a mod, install the original REACT 2.0 (download links at the bottom of this page).<br />
<br />
==Hotkeys==<br />
<br />
REACT adds a few useful hotkeys to EAC:<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Key || Function<br />
|-<br />
| F1 || Wiki page for EAC.<br />
|-<br />
| Alt-F1 || Wiki page for REACT (this page).<br />
|-<br />
| Ctrl-F2 || Configure EAC to be used with REACT.<br />
|-<br />
| Alt-F2 || Edit REACT.ini in notepad.<br />
|-<br />
| Alt-F3 || Edit REACT-image.cfg in notepad.<br />
|-<br />
| 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 & Copy instead of Copy only. If the INI key CreateAllCuesheets=1, all four cuesheet types are saved as different files as well.<br />
|-<br />
| F10 || Shortcut to menu "Action - Copy Image and Save CUE Sheet - Compressed...". 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.<br />
|-<br />
|}<br />
<br />
==Configuration Files==<br />
<br />
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:<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| File || Description<br />
|-<br />
| REACT.ini || Regular INI file with key=values pairs. Defines variables used by the CFG files.<br />
|-<br />
| REACT-tracks.cfg || - Used for "Copy Selected Tracks Compressed", default shortcut : F4<br />
|-<br />
| REACT-image.cfg || - Used for "Copy Image & Create CUE Sheet Compressed", default shortcut : F10<br />
|-<br />
|}<br />
<br />
==The REACT.INI File==<br />
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.<br />
<br />
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.<br />
<br />
===Settings Section===<br />
<br />
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:<br />
<pre><br />
[Settings]<br />
Version=2.0<br />
ImageExt=flac<br />
ImageNaming=$artist$ - [$year$] $album$<br />
ImageHotKey={F10}<br />
TracksHotKey={F4}<br />
TracksHotVal=+{F5}<br />
VA=Various Artists<br />
CreateAllCuesheets=0<br />
RunCoverDownloader=1<br />
CoverDownloader=C:\Program Files\REACT2\coverdownloader\albumart.exe<br />
EAC=C:\Program Files\Exact Audio Copy\EAC.exe<br />
MinimizeCompressionWindow=1<br />
ProcessPriority=1<br />
Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|'|#|[|]<br />
</pre><br />
<br />
Some of the keys are obvious, and some you really don't need to bother with unless you are a REACT Ninja, but here's a few to watch out for:<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| 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.<br />
|-<br />
| 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's textboxes, and therefore do not strictly relate to the extended variables available within your config.<br />'''Please note:''' Your scheme ''must'' begin "$artist$ -" in order for Various Artists discs to be recognised properly.<br />
|-<br />
| VA || Default set to 'Various Artists'. The variable @va@ holds this string. See @cdartist@ below for further details.<br />
|-<br />
| 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.<br />
|-<br />
| 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.<br />
|-<br />
| 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).<br />
|}<br />
<br />
===UserTrackFormat Section===<br />
This section enables/disables output audio formats to be created.<br />
<br />
===UserOutputNames Section===<br />
Here the track names and the output paths are defined for the different output audio formats.<br />
OutRoot is the common directory used under many file naming schemes. Individual directories and naming schemes for each format are set with respective ImageDir_Flac, TrackDir_AAC, etc. When saving formats to different drives OutRoot must be replaced with address spelled out. <br><br />
Different naming schemes are available for Various Artist CDs. see variable options under METADATA<br><br />
TrackName_NA - file naming for single artist <br><br />
TrackName_VA - file naming for various artist<br><br />
TrackName_SA_acdir=$n - $~t - ACDIR is used when ripping an image and splitting it into tracks. It will be passing [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=35158&view=findpost&p=327260 EAC variables] directly through. The tilde [http://nyaochi.sakura.ne.jp/xoops/modules/mysoftwares/tc_2.html replaces illegal filename characters with a space].<br><br><br />
<br />
File naming schemes are largely up to personal usage and preference but some examples are<br><br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=956 example 1]<br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=47558 example 2]<br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=31698 example 3]<br />
<br />
===UserSettings Section===<br />
Set various variables for more detailed configuration.<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| 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. <br />
|-<br />
| Comment || Override the default @comment@ variable (taken from EAC)<br />
|-<br />
| EmbedCover || Select if you want your cover pictures embeded into the audio files, or only copied to the target directory as 'folder.jpg'.<br />
|-<br />
| ReplayGain || Enable/Disable ReplayGain calculation and tagging.<br />
|-<br />
| ApplyAlbumGain || Apply the album gain to the files, so they are played back with a consistent volume across the albums on every player.<br />
|-<br />
| AdjustAlbumGain_dB || If you want to adjust the album gain from 89.0 dB when applying to the audio, set adjustment in dB here.<br />
|-<br />
| AddCuesheetAG || Add Album gain/Album peak values to the cuesheet as REM lines. This implies that WaveGain is ran.<br />
|-<br />
| 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.<br />
|-<br />
| Opt_... || Variables that defines options for each encoder used.<br />
|-<br />
| Ver_... || Variables that defines the version number for each encoder used.<br />
|}<br />
<br />
==Editing the CFG files (advanced)==<br />
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):<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| '''PATHS AND FILES''' || <br />
|-<br />
| @reactdir@ || The path to the directory in which REACT resides<br />
|-<br />
| @tools@ || The path to the directory in which the encoders reside. Set within the INI file<br />
|-<br />
| @mymusic@ || The path to your 'My Music' folder<br />
|-<br />
| @sourcedir@ || The path to the folder in which the copied source files are located ([[WAV]]/LOG/CUE)<br />
|-<br />
| @basename@ || The name of the file being created, excluding folders and extension <br />
|-<br />
| @source@ || The path to the temporary source [[WAV|WAVE]] file<br />
|-<br />
| @image@ || The path to the final image file, when used in '''Copy Image''' mode<br />
|-<br />
| @imageext@ || The extension of the compressed target image, e.g. flac<br />
|-<br />
| @sourcecuesheet@ || The path to the (temporary) source [[Cuesheet|cuesheet]], when used in '''Copy Image''' mode<br />
|-<br />
| @cuesheet@ || The path to the final [[Cuesheet|cuesheet]], when used in '''Copy Image''' mode<br />
|-<br />
| @eaclog@ || The path to the log file created by [[Exact Audio Copy|EAC]]<br />
|-<br />
| @cover@ || The path to the cover/album art picture file, dowloaded with CoverDownloader.<br />
|-<br />
| @albumfile@ || The base path to the cuesheet files without extension, created when CreateAllCuesheets=1 in the INI file. E.g, "@albumfile@.[mg].cue" is the multiple wav files cuesheet with gaps. <br />
|-<br />
| || <br />
|-<br />
| '''METADATA''' || <br />
|-<br />
| @cdartist@ || The name of the CD artist. If @various@=1 @cdartist@ equals the variable @va@, otherwise @artist@. Use $cdartist$ in file paths<br />
|-<br />
| @artist@ || The name of the track artist. Use $artist$ in paths<br />
|-<br />
| @album@ || The name of the album. Use $album$ in paths<br />
|-<br />
| @title@ || The song title. Use $title$ in paths<br />
|-<br />
| @track@ || The track number. Use $track$ to zero-pad the track number, i.e.: turn 9 into 09 <br />
|-<br />
| @numtracks@ || The total number of tracks. Use $numtracks$ to zero-pad the number<br />
|-<br />
| @genre@ || The album genre. Use $genre$ in paths<br />
|-<br />
| @year@ || The album year<br />
|-<br />
| @comment@ || The comment. Use $comment$ in paths<br />
|-<br />
| @freedbid@ || The [[freedb]] ID<br />
|-<br />
| || <br />
|-<br />
| '''OTHER''' || <br />
|-<br />
| @various@ || Is 1 if the EAC 'Various' checkbox was checked. Otherwise 0<br />
|-<br />
| @va@ || The name of VariousArtist. Default 'Various Artists'.<br />
|-<br />
| @crc@ || The [[CRC]] of the file<br />
|-<br />
| @bitrate@ || The value of the '''Bitrate''' dropdown on EAC's External Compressor dialogue<br />
|-<br />
| @curdate@ || The current date<br />
|}<br />
<br />
<br />
==Links==<br />
<br />
Ask REACT questions in this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=50273<br />
<br />
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=50259<br />
<br />
Download [[User:Synthetic Soul|Synthetic Soul's]] or [http://www.hydrogenaudio.org/forums/index.php?showuser=48750 Akkurat's] mod (for EAC 0.99 support and more) from this page : [[REACT:Mods]]<br />
<br />
[[Category:CD ripping]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:ModsREACT:Mods2011-04-27T23:13:31Z<p>Akkurat: Akku mod changes.</p>
<hr />
<div>==Akkurat's Mod==<br />
<br />
===Description===<br />
This mod continues from where the great Synthetic Soul's 2.0.ssb16p mod of REACT left. This mod is going to mainly fix bugs and problems. So, only "good" feature requests please. :) Thanks.<br />
<br />
Please read [http://wiki.hydrogenaudio.org/index.php?title=REACT:Mods#Synthetic_Soul.27s_Mod Synthetic Soul's Mod] if you want to know what changes Synthetic Soul brought to REACT with his mod.<br />
<br />
<br />
===Documentation===<br />
<br />
====Getting started====<br />
Here's a short guide to using REACT and Akkurat's mod.<br />
<br />
#Original REACT<br />
##Download the original [http://www.hydrogenaudio.org/forums/index.php?showtopic=50259 REACT2.0] (link in the end of the 1st post). <br />
##Extract and run the installer.<br />
#Akkurat Mod<br />
##[http://wiki.hydrogenaudio.org/index.php?title=REACT:Mods#Download Download] Akkurat's mod package.<br />
##Extract it to the folder you installed the original REACT (replace all files).<br />
#Album Art Downloader XUI (replaces the old Album Art Downloader in the original REACT2.0 installer)<br />
##Delete ALL files and folders from the installed REACT\coverdownloader\ folder.<br />
##Download the latest [http://www.hydrogenaudio.org/forums/index.php?showtopic=57392 Album Art Downloader XUI] '''ZIP''' archive file.<br />
##Extract it to the REACT\coverdownloader\ folder.<br />
##Remember that ".NET Framework 3.5 SP1" is required, except for Windows 7, for AAD XUI to work properly (link for that is in the same place where you downloaded AAD XUI).<br />
##Open "REACT.ini" file (in REACT folder) and amend the "CoverDownloaderXUI" setting to 1.<br />
##Also, check that the "CoverDownloader" setting has the correct path set to the album art downloader executable (AlbumArt.exe).<br />
##You might want to start AAD XUI separately for the first time and set it up the way you like it (enable/disable/"search first" sources, size filter, etc.).<br />
#Learning & setting up REACT<br />
##Read the [http://wiki.hydrogenaudio.org/index.php?title=REACT REACT] Wiki page and the documentation of Akkurat's mod (you're reading it currently!) for information. Remember that Akkurat's mod has all the Synthetic Soul's mod features as well.<br />
##Open "REACT.ini" file and amend the settings to your liking. Trial (and error) method gets you far if you don't fully understand some settings. If you're totally lost, you can ask help in the [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 Released] topic.<br />
##Optional:<br />
###EAC log: if you want to have EAC logs saved for some of the track formats, you have to open the REACT-track.cfg and/or REACT-image.cfg file(s), find '''REM COPY /Y "@eaclog@" "EAClog.txt"''' line(s) for your track format(s) and remove the '''REM''' word from the beginning of that/those lines.<br />
###Playlists: follow the [http://wiki.hydrogenaudio.org/index.php?title=REACT:Creating_A_Playlist Creating A Playlist] Wiki guide for generating playlists. Remember to download the Tag.exe tool to your REACT\tools folder (link in the Wiki guide).<br />
###Cuesheets: follow the [http://wiki.hydrogenaudio.org/index.php?title=REACT:Amending_Cuesheet_File_References Amending Cuesheet File References] Wiki guide for getting file reference corrected cuesheets in track mode (works only in that ripping mode). Follow the GSAR method guide. Remember to download the GSAR tool to your REACT\tools folder (link in the Wiki guide).<br />
###Data Track: follow the [http://wiki.hydrogenaudio.org/index.php?title=REACT:Backup_DATA_Track Backup DATA Track] Wiki guide if you want to "backup" all the files from an enhanced CD (this copies only the Windows filesystem files, not the whole data track).<br />
#Running REACT<br />
##Start REACT and configure it when asked (if not, press Ctrl-F2 to do it). (This guide doesn't cover setting up EAC, so it should be done before this step!)<br />
##Optional: Alt-F5 opens the "Additional Meta Data dialog". You can set it up to open automatically when starting REACT if you use it often (REACT.ini: "OpenAddMetaDataDiag" setting).<br />
##You're ready to rip with REACT. Remember that you should ONLY use '''F4''' or '''F10''' keys when ripping with REACT. (F4=track mode, F10=image mode)<br />
<br />
<br />
====Notes====<br />
<br />
=====EAC "Use this directory"=====<br />
Starting from 2.0.akku.b03 version, configuring REACT with Ctrl-F2 will always reset the "Use this directory" path setting in EAC to user "My Music" directory. This directory is only used to temporarily hold the EAC extracted files, it has no relation to the INI "OutRoot" directory setting where REACT puts your final encoded and other files. The "Use this directory" setting can be changed after configuring REACT.<br />
<br />
=====INI "ImageNaming" setting=====<br />
The value of this setting must begin with "$artist$ -" (without quotes) in order for Various Artists discs to be recognized properly in image mode.<br />
<br />
=====Cover Art Downloader / Album Art Downloader=====<br />
You can start the program by Alt-F10 when EAC window has focus. This feature was previously undocumented.<br />
<br />
=====Additional Meta Data dialog=====<br />
Starting from 2.0.akku.b03 version, the dialog is only reinitialized (values cleared) when:<br />
<br />
# REACT is launched.<br />
# CD drive (adapter) is changed from the EAC combobox.<br />
# CD is ejected or the "CD Artist" and "CD Title" fields are empty.<br />
<br />
Previously the dialog was reinitialized every time the "CD Artist" or "CD Title" values changed.<br />
<br />
=====Various Artists=====<br />
Starting from 2.0.akku.b03 version, the way REACT works with Various Artists albums has been changed. This change fixes the problems with "malformed" VA artist freedb data.<br />
<br />
REACT will uncheck the VA checkbox and enter the INI VA setting value to the artist field when starting a rip. The VA checkbox is NOT checked back by REACT'''(****)''' because EAC will detect the new artist value, if it's "safe"'''(*)''', as VA and will check it'''(**)''' by itself when a rip starts.<br />
<br />
In the very unlikely event that your CD artist is something like "Various Polarbears", "Variously", etc. (starts with "Various" value), but it's not a "Various Artists" CD, the rip will FAIL even if you uncheck the VA checkbox prior ripping. This is something that would also fail when running only EAC.<br />
<br />
On new VA albums not detected by freedb, please use "Various" (without quotes) as the artist value if you're going to submit the new data to freedb'''(***)'''. You can't check the VA checkbox with mouse in this case, but you can press TAB or ENTER after inputting the "Various" and the VA checkbox is checked.<br />
<br />
'''(*)''' "Safe" INI VA setting values: "VA", "Various", "Various Artists" (without quotes) (basically anything starting with "v", "va", "var",..., "various").<br />
<br />
'''(**)''' In track mode and when creating at least one cuesheet with INI "CreateCuesheet" setting (not required) in image mode. The image rip will still be OK even if EAC doesn't automatically check the VA checkbox.<br />
<br />
'''(***)''' Rules for submitting CDs to freedb: http://www.freedb.org/en/faq.3.html#22<br />
<br />
'''(****)''' The decision why to do it like this is that, this way the image filename obeys the INI VA setting value (previously it was "Various" no matter what the INI VA setting contained), and cuesheets & EAC logfile has the INI VA setting value as the CD artist/performer value. I think it's a good trade-off, one missing checkbox in image mode (when no additional cuesheets) vs. proper INI VA values in various ;) files.<br />
<br />
=====Windows Vista & Windows 7=====<br />
Windows Vista and Windows 7 is currently not fully supported because of the restricted user rights. Windows Vista & Windows 7 users should make sure that the user account they are logged in has read+write permissions for the following folders:<br />
* REACT folder<br />
* "Use this directory" path setting in EAC (default set by REACT: user "My Music" folder)<br />
* INI "OutRoot" folder (default setting: user "My Music\EAC" folder)<br />
<br />
=====64-bit Windows=====<br />
It is required to copy "CHCP.com" file from your OS "System32" folder to "SysWOW64" folder before using REACT on some 64-bit Windows operation systems.<br />
<br />
=====EAC Compression Queue=====<br />
REACT doesn't support the Compression Queue feature of EAC.<br />
<br />
<br />
====New tokens / variables====<br />
@reactversion@ = Version information, e.g. REACT v2.0.akku.b03.<br />
<br />
<br />
====New INI options====<br />
<br />
=====[Settings] CreateCuesheet=====<br />
This option replaced the old "CreateAllCuesheets" option!<br />
<br />
Cuesheets are not created if this option is left empty (default). Except when ripping into tracks, the "glean cuesheet" (REACT.cue) is still created temporarily because it's needed to determine the correct "number of tracks" when ripping a CD with DATA track (enhanced CD).<br />
<br />
When ripping into tracks and at least one cuesheet is selected, the "glean cuesheet" (REACT.cue) is created (copied) from the first created cuesheet. This avoids the need to run another cuesheet generation from EAC and thus speeds up the process (especially when retrieving UPC/ISRC codes in cuesheet generation).<br />
<br />
Cuesheets:<br />
* s = Single WAV File<br />
* mg = Multiple WAV Files With Gaps (Noncompliant)<br />
* m = Multiple WAV Files With Left Out Gaps<br />
* mc = Multiple WAV Files With Corrected Gaps<br />
<br />
Examples:<br />
;CreateCuesheet=<br />
: No cuesheets.<br />
;CreateCuesheet=mg<br />
: Create one cuesheet.<br />
;CreateCuesheet=m|mg|s<br />
: Create multiple cuesheets (order is irrelevant).<br />
<br />
The pipe ( | ) character is used as the separator when creating multiple cuesheets. Do not use separators at the beginning or at the end of the value!<br />
<br />
Read this guide http://wiki.hydrogenaudio.org/index.php?title=EAC_and_Cue_Sheets and this http://wiki.hydrogenaudio.org/index.php?title=EAC_Gap_Settings if you're not sure which cuesheet to select. Most probably it's the "mg" (Multiple WAV Files With Gaps (Noncompliant)).<br />
<br />
=====[Settings] CoverDownloaderLocalPath=====<br />
If RunCoverDownloader is set, and you set this to the path of your existing artwork, REACT will check for the existence of a file before opening AlbumArt.exe. If a file exists it will copy that file to the working directory, renaming it "<album>.jpg" (as REACT expects artwork to be called) and AlbumArt.exe will not be opened. If the path is not set, or a file does not exist, AlbumArt.exe will open as normal. You can use $artist$, $album$ and $year$ tokens in the path, e.g.:<br />
<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\[$year$] $album$\folder.jpg<br />
<br />
CoverDownloaderLocalPath is also used to specify Album Art Downloader XUI's /localImagesPath switch, if it does not match a local file. You will need to set CoverDownloaderXUI=1 to use this feature. Note: $artist$ and $album$ are correctly converted to XUI's %artist% and %album% syntax. The $year$ token is not supported when using this feature.<br />
<br />
Therefore, if you do not want to direct REACT to a specific file, you may want to use Album Art Downloader XUI's wildcard support (see explanation below) to specify a more general local search, e.g.:<br />
<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\**\*.jpg<br />
<br />
This will open Album Art Downloader XUI, using any JPEG in "C:\Documents and Settings\My Name\My Documents\My Music" and its subfolders as a potential source.<br />
<br />
Another example:<br />
<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\**\*.jpg<br />
<br />
Album Art Downloader XUI's wildcard support for /localImagesPath:<br />
{| border="0" cellpadding="2" cellspacing="3"<br />
|-valign="top"<br />
| * || Wildcard, matches any characters<br />
|-valign="top"<br />
| \**\ || Subfolder search. Any folders will match<br />
at this point in the path. For example<br />
"\Art\Unsorted\**\*.jpg" will match:<br />
\Art\Unsorted\image.jpg<br />
\Art\Unsorted\misc\image.jpg<br />
\Art\Unsorted\misc\old\image.jpg<br />
<br />
"\Art\Unsorted\*\*.jpg" will match only:<br />
\Art\Unsorted\misc\image.jpg<br />
|}<br />
<br />
=====[Settings] OpenAddMetaDataDiag=====<br />
If set to 1, the Additional Meta Data dialog is opened in position relative to the bottom right corner of the EAC window at REACT startup. Except when the EAC window is placed out of desktop borders. In this case the dialog is centered (default behavior when opening the dialog manually by Alt-F5).<br />
<br />
=====[UserSettings] DebugMode=====<br />
Setting this to 1 will create a debugging.txt file in the REACT folder. This file could help you report bugs in REACT. This setting is not related to the "Debug" setting and it will not affect the batch file.<br />
<br />
<br />
====Tools====<br />
List of updated tools in akku.b04.<br />
<br />
{| border="0" style="text-align:left" width="250"<br />
! Tool !! Version<br />
|-<br />
| flac.exe || 1.2.1b<br />
|-<br />
| metaflac.exe || 1.2.1b<br />
|-<br />
| lame.exe || 3.98.2<br />
|-<br />
| metamp3.exe || 0.92 beta 5<br />
|}<br />
<br />
<br />
===Contact===<br />
Comments, questions, bug reports, etc., please contact [http://www.hydrogenaudio.org/forums/index.php?showuser=48750 Akkurat] in Hydrogenaudio Forums.<br />
<br />
Or write to [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 Released] thread.<br />
<br />
<br />
===Changelog===<br />
'''2.0.akku.b04''' (7th June 2009)<br />
* Changed files: REACT.exe, REACT.ini, REACT-image.cfg & REACT-track.cfg.<br />
* Added files - Tools: flac.exe, lame.exe, metaflac.exe & metamp3.exe.<br />
<br />
<br />
* Fixed REACT to work with the changed EAC 0.99pb5 command line switches.<br />
* Fixed a bug with image filenames saved sometimes incorrectly (again for the 3rd time!) in Windows Vista. The method was changed and the procedure is slightly slower now; filename will appear "one letter at a time" to the save dialog.<br />
* Fixed cuesheet generation again; the indices and gaps detection windows were detected in wrong order. This made REACT error with CD's that had lots of track indices.<br />
* Fixed left behind glean cuesheet file not deleted in track mode when creating normal cuesheet(s) with the INI setting.<br />
* Fixed a tricky problem with EAC not using the changed "Use this directory" setting in image mode in certain situations. If you see REACT inserting drive+path+filename "one letter at a time" to the save dialog in image mode, don't fret, it's this fix at work.<br />
* Fixed bad file naming scheme settings not detected by REACT in certain situations.<br />
* Fixed a bug where long lasting and/or failing freedb query made REACT fail to "hook" to the EAC window.<br />
<br />
<br />
* Added "check for EAClog" to track config.<br />
* Changed the bat file delete command so that there is no quick flash of error message at the very end of both configs.<br />
* Changed Mp3 tagging switches for the updated MetaMP3 in both configs.<br />
* Added the fix for MetaMP3 "wildcard parse bug with filenames ending with any multiples of 2 consecutive period chars" to both configs.<br />
* Changed disc related tagging so that both "discname" and "discnumber"/"totaldiscs" tags are written if supplied. Changed also the way the folder structure is created when both are supplied; the "discname" is in parenthesis after the "discnumber": <path>\Disc <discnumber> (<discname>).<br />
<br />
<br />
* REACT.ini<br />
** "Version" updated.<br />
** Changed default "UserTrackFormats" to "Flac" and "LameMP3".<br />
** "Opt_LameMP3" updated. Removed "--vbr-new" because it's default VBR routine with the updated LAME encoder.<br />
** "Ver_LameMP3" updated.<br />
** "Ver_Flac" updated.<br />
<br />
<br />
* Updated FLAC to 1.2.1b (flac.exe & metaflac.exe).<br />
* Updated LAME to 3.98.2 (lame.exe).<br />
* Updated MetaMP3 to 0.92 beta 5 (metamp3.exe).<br />
** Fixes a bug with zero-padded track numbers when using only "tracknumber" in tagging.<br />
** Updating to this version automatically fixes the "discname" tagging bug in REACT configs.<br />
<br />
<br />
* Changed REACT configuring (Ctrl-F2):<br />
** EAC "Use CD-Text information in CUE sheet generation" setting is set ON (needed with track encoding in image mode).<br />
** EAC "Create '.m3u' playlist on extraction" setting is set OFF.<br />
** EAC "Use various artist naming scheme" setting is always set ON.<br />
** EAC "On unknown CDs," and "automatically access online freedb database" settings are always set ON.<br />
** REACT now waits for the EAC process to close completely before configuring.<br />
*** Added splash window while closing the process because it could take some time.<br />
** REACT will now always restart after configuring.<br />
<br />
<br />
* Added EAC Compression Queue not supported text to the "Notes" section of the documentation.<br />
* Added "Tools" section to documentation. Lists all updated tools used in this mod.<br />
<br />
<br />
'''2.0.akku.b03''' (11th August 2008)<br />
* Changed feature: now it's possible to create only the cuesheet(s) user wants.<br />
* Removed "CreateAllCuesheets" option from the INI file! ("CreateCuesheet" option replaced this)<br />
* Added "CreateCuesheet" INI option. (read the "New INI options" section for how to use this new option)<br />
<br />
<br />
* Added new feature: opening the Additional Meta Data dialog at startup is now possible by setting "OpenAddMetaDataDiag" to 1 in the INI file.<br />
* Changed feature: Additional Meta Data dialog is opened in position relative to the bottom right corner of the EAC window if it's set to open at startup. (read the "New INI options" section for more information)<br />
* Changed the Additional Meta Data dialog column widths to avoid horizontal scrollbar when vertical scrollbar appears.<br />
<br />
<br />
* Changed the way REACT works with Various Artists albums (read the "Notes" section for more information).<br />
** Fixes the problems with "malformed" VA artist freedb data.<br />
** Image filename obeys the INI VA setting.<br />
** Cuesheets & EAC logfile has the INI VA setting value as the CD artist/performer value.<br />
* Changed the required active naming scheme start value from "%D" to "%D -". REACT will notify the user if the settings are not correct at the program launch.<br />
* Changed: REACT will notify the user if the "ImageNaming" value in INI doesn't begin with "$artist$ -" at the program launch or after closing the INI file opened by Alt-F2.<br />
* Changed the way the Additional Meta Data dialog is reinitialized (read the "Notes" section for more information).<br />
<br />
<br />
* Changed REACT.ini version. From now on, the INI and the program version will be synchronized (even if there's no update to the INI file).<br />
* Added previously not included "CoverDownloaderLocalPath" and "DebugMode" options to the INI file.<br />
* Fixed the previously undocumented "run Album Art Downloader" (Alt-F10) hotkey to be only active when EAC window has focus.<br />
<br />
<br />
* Added new token/variable: @reactversion@.<br />
* Changed "Comment" option in INI file to include the new @reactversion@ token.<br />
<br />
<br />
* Fixed cuesheet generation problems when "Retrieve UPC/ISRC code in CUE sheet generation" option is set in EAC.<br />
* Changed: "Use this directory" setting in EAC is mandatory and REACT will notify the user if it's not set at the program launch. Avoids/fixes the cuesheet generation problems when "Standard directory for extraction: Ask every time" option is set in EAC.<br />
* Changed: configuring REACT by Ctrl-F2 will now set the "Use this directory" setting in EAC and the user "My Music" directory is used as the destination folder.<br />
<br />
<br />
* Fixed a bug with image filenames saved sometimes incorrectly (again) in Windows Vista.<br />
* Changed: if the image filename set still fails, the user is notified about this and has an option to manually enter the correct filename or by pasting it from the clipboard.<br />
<br />
<br />
* Fixed EAClog cleanup. Only the left behind EAClog of current album is deleted.<br />
<br />
<br />
* Fixed a couple of problems when the INI file opened by Alt-F2 wasn't closed before ripping. REACT now notifies the user about this and the INI file (in Notepad) must be closed.<br />
<br />
<br />
* Fixed lost window focus when starting REACT.<br />
* Fixed lost window focus when changing the CD Artist or CD Title fields.<br />
* Fixed couple of REACT info not visible in EAC window title problems.<br />
<br />
<br />
* Updated AutoIt from v3.2.8.1 to v3.2.12.1 and changed REACT to work with the new version. There were some fixes, among others, to AutoIt in Vista, so hopefully this update improves REACT functionality in Vista.<br />
<br />
<br />
* Fixed up a bit the "DebugMode" logging mess to debugging.txt when multithreading in tracks mode.<br />
<br />
<br />
'''2.0.akku.b02''' (10th May 2008, first public release)<br />
* Feature change: CoverDownloader starts now before cuesheet generation.<br />
<br />
<br />
'''2.0.akku.b01''' (7th February 2008)<br />
* Fixed a rare bug with image filenames saved sometimes incorrectly.<br />
* Changed the cuesheet creation once more to fix couple of rare bugs.<br />
* Changed REACT-track.cfg to show DOS prompt output correctly when Debug=1 set.<br />
* Fixed left behind EAClog cleanup failure when using EAC 0.99 versions.<br />
<br />
<br />
===Download===<br />
Latest version direct download: [http://www.hydrogenaudio.org/forums/index.php?act=attach&type=post&id=5140 REACT_2.0.akku.b04.zip]<br />
<br />
Older versions (and file hashes) are available from [http://www.hydrogenaudio.org/forums/index.php?showtopic=63179 Akkurat's REACT mod] thread in Hydrogenaudio Forums.<br />
<br />
<br />
<br />
<br />
<br />
==Synthetic Soul's Mod==<br />
<br />
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]<br />
<br />
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].<br />
<br />
===Key Points===<br />
<br />
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.<br />
* Track-level tokens supported.<br />
* Additional meta data added to cuesheets, as REM statements.<br />
* Fixes issue in REACT with '%' in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=494794 post] ).<br />
* Fixes issue in REACT with '&' in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495493 post] ).<br />
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.<br />
* Will only rewrite INI file on major or minor version change, not a new build.<br />
* Use Test & Copy by adding <code>Test=1</code> under the Settings section of REACT.ini.<br />
<br />
<br />
===Description===<br />
<br />
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs. This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).<br />
<br />
The dialogue is opened using '''Alt+F5'''. The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also. If you close the dialogue it is simply hidden from view, so your list items will stay intact. Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.<br />
<br />
The current list state is recorded in a new file called "meta.ini" in your REACT folder. The values in this INI are eventually used to replace tokens with values when your config runs. The INI is updated any time that you update or delete an item.<br />
<br />
====Setting Defaults====<br />
<br />
Default tokens and their values can be set in the REACT.ini file, under the newly created '''DefaultMetaData''' section. When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults. The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see '[[REACT:Mods#A Basic Alternative|A Basic Alternative]]').<br />
<br />
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of '1'. If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to '1' when a new disc is inserted. The article '[[REACT:Adding Support For Disc Information]]' details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.<br />
<br />
====Processing Tokens====<br />
<br />
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements. Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values. Track-level tokens are added beneath the appropriate TRACK statement. Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR's $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}. <br />
<br />
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@. These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.<br />
<br />
====Track-Level Tokens====<br />
<br />
Most tokens are album-related. If you want to set track-level tokens you should use the format '''<token name>[<track number>]''', e.g.: '''composer[1]''' to set the composer token value for track one. Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.<br />
<br />
====Using The Tokens====<br />
<br />
You can use both @ and $-style tokens in your config. When using $ tokens any integer value will be zero-padded ("4" -> "04") and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement. Therefore, if you create a token called '''discname''' you can use @discname@ when tagging, and $discname$ when creating a file or folder name. <br />
<br />
<br />
===A Basic Alternative===<br />
If you want to use additional tokens in your config but do not want to use this mod you ''can'' add additional variables to the existing '''UserTrackFormats''', '''UserOutputNames''', and, ''more pertinently'', '''UserSettings''' sections of REACT.ini. You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.<br />
<br />
<br />
===Changelog===<br />
2.0.ssb5, 03/05/07<br />
* First public release.<br />
<br />
2.0.ssb6, 04/05/07<br />
* Additional Meta Data dialogue made child of EAC window.<br />
* Changed function prefix from fGUI to fDiag to save confusion.<br />
<br />
2.0.ssb8, 14/05/07<br />
* Moved default values into REACT.ini.<br />
* Fixed the code that writes track-level meta data to the cuesheet.<br />
* Current token values now stored in "meta.ini", not "metadata.ini".<br />
* Moved a little more code from the main source file into the include.<br />
<br />
2.0.ssb9, 14/05/07<br />
* Track cuesheets now supported.<br />
<br />
2.0.ssb10, 30/05/07<br />
* Added underscore prefix to identify temporary tokens.<br />
* Fixed REACT issue with "%" in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=494794 post] )<br />
* Fixed REACT issue with "&" in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495493 post] )<br />
<br />
2.0.ssb11, 01/07/07<br />
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=501821 post] )<br />
* Will only rewrite INI file on major or minor version change, not a new build.<br />
<br />
2.0.ssb12, 02/07/07<br />
* Log file handling now works correctly for track ripping.<br />
<br />
2.0.ssb13, 04/07/07<br />
* Reverted cover filename to "<album>.jpg" irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=502330 post] )<br />
<br />
2.0.ssb15, 17/07/07<br />
* Reverted @albumfile@ to "<sourcedir>\<album>", irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=505038 post] )<br />
* Add <code>Test=1</code> under the Settings section of REACT.ini to use Test and Copy mode.<br />
<br />
2.0.ssb16, 29/07/07<br />
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.<br />
* Fixed bug with @ and $ values. @totaldiscs@ will now correctly return "3", while $totaldiscs$ will return "03".<br />
<br />
2.0.ssb16b, 15/08/07<br />
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=510414 post] ).<br />
<br />
2.0.ssb16c, 21/08/07<br />
* Add <code>CoverDownloaderXUI=1</CODE> to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=511640 post] ).<br />
<br />
2.0.ssb16d, 21/08/07<br />
* Added BMP support to above.<br />
<br />
2.0.ssb16e, 23/08/07<br />
* Fixed bug with above, where the artist and album did not change with the disc.<br />
<br />
2.0.ssb16f, 11/09/07<br />
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=512481 post] ).<br />
<br />
2.0.ssb16g, 17/09/07<br />
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter. This will treat the files as if they had just been created by EAC as per normal execution.<br />
<br />
2.0.ssb16h, 17/09/07<br />
* Set <code>CoverDownloaderLocalPath</code>, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader. You may use $artist$ and $album$ tokens in the path, e.g.:<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg<br />
<br />
2.0.ssb16i, 12/11/07<br />
* Fixed a bug with <code>CreateAllCuesheets</code> when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529370 post] ).<br />
* Reinstated <code>TracksHotVal</code>, after unwittingly removing the functionality.<br />
<br />
2.0.ssb16j, 14/11/07<br />
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529854 post] ).<br />
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529854 post] ).<br />
<br />
2.0.ssb16k, 16/11/07<br />
* Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=530101 post] ).<br />
* UserOutputNames INI section no longer escaped, so you can again use Window's tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=530166 post] ).<br />
* REACT now checks that EAC is the active window before sending the commands to create the four cuesheets. <br />
<br />
2.0.ssb16l, 19/11/07<br />
* Log file name in track mode now, finally, calculated correctly.<br />
* The <code>RunCoverDownloader</code> values as documented in [[REACT|the wiki page]] should now work as expected.<br />
<br />
2.0.ssb16m, 28/11/07<br />
* The number of tracks to process is now calculated from a cuesheet in track mode.<br />
* Expanded CreateAllCuesheets code to notify the user if a problem occurs.<br />
<br />
2.0.ssb16n, 30/11/07<br />
* Added Akkurat's improvements to the CreateAllCuesheets processing.<br />
* Added nago's multi-thread amendments.<br />
* Updated configs and INI are now included in the download.<br />
<br />
2.0.ssb16o, 29/01/08<br />
* Fixed a bug regarding track-level tokens with double-digit track numbers.<br />
<br />
2.0.ssb16p, 02/02/08<br />
* Fixed a bug with backslashes in additional meta data not being written to cuesheets.<br />
* Double quotes in additional meta data are now converted to apostrophes when written to the batch file.<br />
<br />
===Download===<br />
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16p.zip REACT 2.0.ssb16p]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=DbPowerAMPDbPowerAMP2010-02-15T22:23:04Z<p>Akkurat: Redirected to correct dBPowerAMP HA wiki page.</p>
<hr />
<div>#REDIRECT [[DBpowerAMP_with_AccurateRip]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=Download_pageDownload page2010-01-31T03:39:12Z<p>Akkurat: /* Windows */ DBpowerAMP license correction.</p>
<hr />
<div>All programs mentioned anywhere in the wiki can be downloaded here.<br />
See also the [[:Category:Software|Software Category]] article for more software not listed here. <br />
<br />
==CD Rippers==<br />
===Windows===<br />
{| border="0" cellpadding="0" cellspacing="1" style="text-align:center; border:2px solid #ccccff; margin-bottom: 20px;"<br />
|- style="background:#ccccff"<br />
! style="width:150px;" | Name<br />
! style="width:90px;" | License<br />
! style="width:100px;" | Website<br />
! style="width:300px;" | Description<br />
|-<br />
! align="left" | [[CDex]]<br />
| GPL<br />
| [http://cdexos.sourceforge.net/ here]<br />
| align="left" | An open-source ripper for Windows that uses cdparanoia functionality<br />
|<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | [[DBpowerAMP with AccurateRip|DBpowerAMP]]<br />
| Free, Shareware <br />
| [http://www.dbpoweramp.com/ here]<br />
| align="left" | A secure ripper for Windows that includes Accurate Stream functionality<br />
|-<br />
! align="left" | Deep Ripper<br />
| GPL<br />
| [http://www.deepburner.com/ here]<br />
|<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | [[EAC]]<br />
| Free<br />
| [http://www.exactaudiocopy.de/ here]<br />
| align="left" | A secure ripper for Windows, C2 error pointers, Accurate Stream, etc.<br />
|-<br />
! align="left" | [[BonkEnc]]<br />
| GPL<br />
| [http://www.bonkenc.org/ here]<br />
| align="left" | Ripper with [[Cdparanoia]] support. It's an open-source project.<br />
|}<br />
<br />
===Mac OS X===<br />
{| border="0" cellpadding="0" cellspacing="1" style="text-align:center; border:2px solid #bbffbb; margin-bottom: 20px;"<br />
|- style="background:#bbffbb;"<br />
! style="width:150px;" | Name<br />
! style="width:90px;" | License<br />
! style="width:100px;" | Website<br />
! style="width:350px;" | Description<br />
|-<br />
! align="left" | [[Max]]<br />
| GPL<br />
| [http://sbooth.org/Max/ here]<br />
| align="left" | A secure ripper for OS X that uses additional cdparanoia functionality<br />
|-<br />
|- style="background-color:#eeeeee;"<br />
! align="left" | [[XLD]]<br />
| GPL<br />
| [http://tmkk.hp.infoseek.co.jp/xld/index_e.html here]<br />
| align="left" | X Lossless Decoder(XLD) is a tool for Mac OS X that is able to decode/convert/play various 'lossless' audio files. The supported audio files can be split into some tracks with cue sheet when decoding. Can convert between many lossless and lossy formats. Plugin oriented design, for easy exchange for new encoders.<br />
|}<br />
===Linux===<br />
{| border="0" cellpadding="0" cellspacing="1" style="text-align:center; border:2px solid #ffcccc; margin-bottom: 20px;"<br />
|- style="background:#ffcccc;"<br />
! style="width:150px;" | Name<br />
! style="width:90px;" | License<br />
! style="width:100px;" | Website<br />
! style="width:320px;" | Description<br />
|- style="background-color:#eeeeee;"<br />
! align="left" | abcde <br />
| GPL <br />
|[http://www.hispalinux.es/~data/abcde.php here] <br />
| align="left" | A command-line based ripper with cdparanoia functionality<br />
|- <br />
! align="left" | [[cdparanoia]]<br />
| BSD, GPL<br />
| [http://www.xiph.org/paranoia/ here]<br />
| align="left" | One of the first secure standalone rippers for the Linux platform<br />
|- style="background-color:#eeeeee;"<br />
! align="left" | [[Grip]] <br />
| GPL <br />
| [http://www.nostatic.org/grip here] <br />
| align="left" | An open-source Gnome interface ripper that uses cdparanoia functionality <br />
|- <br />
! align="left" | [[Rubyripper]] <br />
| GPL <br />
| [http://www.rubyforge.org/ here] <br />
| align="left" | A secure ripper for the Linux that uses additional cdparanoia functionality<br />
|}<br />
<br />
==CD/DVD Writers==<br />
===Windows===<br />
{| border="0" cellpadding="0" cellspacing="1" style="text-align:center; border:2px solid #ccccff; margin-bottom: 20px;"<br />
|- style="background:#ccccff"<br />
! style="width:185px;" | Name<br />
! style="width:80px;" | Unicode<br />
! style="width:90px;" | License<br />
! style="width:100px;" | Website<br />
! style="width:270px;" | Description<br />
|-<br />
! align="left" | BurnAtOnce<br />
| N<br />
| Free<br />
| [http://www.burnatonce.com/ here]<br />
| align="left" | CD writing application based upon CDRDAO <br />
|<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | [[Burrrn]] (CDA only)<br />
| N<br />
| Free<br />
| [http://www.burrrn.net/ here]<br />
|<br />
|-<br />
! align="left" | CDBurnerXP<br />
| <br />
| Free<br />
| [http://www.cdburnerxp.se/ here]<br />
|<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | DeepBurner Free<br />
| N<br />
| GPL<br />
| [http://www.deepburner.com/ here]<br />
|<br />
|-<br />
! align="left" | DeepBurner Pro<br />
| <br />
| Shareware<br />
| [http://www.deepburner.com/ here]<br />
|<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | Express Burn<br />
| N<br />
| Free<br />
| [http://nch.com.au/burn/index.html here]<br />
|<br />
|-<br />
! align="left" | Express Burn Plus<br />
| <br />
| Shareware<br />
| [http://nch.com.au/burn/index.html here]<br />
|<br />
|-style="background-color: #eeeeee;"<br />
! align="left" | Infra Recorder<br />
| N<br />
| GPL <br />
| [http://infrarecorder.sourceforge.net/ here]<br />
| <br />
|-<br />
! align="left" | [[Nero]]<br />
| N<br />
| Shareware<br />
| [http://www.nero.com/ here]<br />
| align="left" |<br />
|-style="background-color: #eeeeee;"<br />
! align="left" | SilentNight Micro-CD Burner<br />
| N<br />
| Free<br />
| [http://www.silentnight2004.com/Download.html here]<br />
|<br />
|}<br />
<br />
===Mac OS X===<br />
{| border="0" cellpadding="0" cellspacing="1" style="text-align:center; border:2px solid #bbffbb; margin-bottom: 20px;"<br />
|- style="background:#bbffbb;"<br />
! style="width:130px;" | Name<br />
! style="width:80px;" | Unicode<br />
! style="width:90px;" | License<br />
! style="width:100px;" | Website<br />
! style="width:310px;" | Description<br />
|- <br />
! align="left" | [[DVD-Audio Tools]]<br />
| Y <br />
| GPL <br />
| [http://dvd-audio.sourceforge.net/ here] <br />
| align="left" | Open-source DVD-Audio authoring application <br />
|- style="background-color: #eeeeee;"<br />
! align="left" | [[FireStarter FX]] <br />
| N <br />
| Free<br />
| [http://www.projectomega.org/subcat.php?lg=en&php=products_firestarter here] <br />
| align="left" | Free OS X Cocoa CD writing application<br />
|- <br />
! align="left" | [[X-CD-Roast]] <br />
| N <br />
| Free <br />
| [http://www.xcdroast.org/xcdr098/xcdrosX.html here] <br />
| align="left" | New OS X port of this Linux CD writing application<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | Burn<br />
| N <br />
| Free<br />
| [http://burn-osx.sourceforge.net/Pages/English/home.html/ here] <br />
| align="left" | Versatile CD/DVD authoring application<br />
|}<br />
<br />
===Linux===<br />
{| border="0" cellpadding="0" cellspacing="1" style="text-align:center; border:2px solid #ffcccc; margin-bottom: 20px;"<br />
|- style="background:#ffcccc;"<br />
! style="width:130px;" | Name<br />
! style="width:80px;" | Unicode<br />
! style="width:90px;" | License<br />
! style="width:100px;" | Website<br />
! align="center" style="width:260px;" | Description<br />
|-<br />
! align="left" | CDRDAO <br />
| N <br />
| GPL <br />
| [http://www.cdrdao.org/ here] <br />
| align="left" | Cdrdao records audio or data CD-Rs in disk-at-once (DAO) mode<br />
|- style="background-color:#eeeeee;"<br />
! align="left" | DVD-Audio Tools <br />
| Y <br />
| GPL <br />
| [http://dvd-audio.sourceforge.net/ here] <br />
| align="left" | Open-source DVD-Audio authoring application<br />
|-<br />
! align="left" | [[Gnome Baker]] <br />
| N<br />
| GPL <br />
| [http://www.gnomefiles.org/app.php?soft_id=291 here] <br />
| align="left" | Popular open-source Gnome interface CD/DVD writing application<br />
|- style="background-color:#eeeeee;"<br />
! align="left" | [[K3b]]<br />
| N<br />
| GPL<br />
| [http://www.k3b.org/ here]<br />
| align="left" | Popular open-source KDE CD writing application for Linux platform <br />
|- <br />
! align="left" | [[X-CD-Roast]] <br />
| Y <br />
| GPL <br />
| [http://www.xcdroast.org here] <br />
| align="left" | New open-source Gnome interface CD/DVD writing application<br />
|- style="background-color:#eeeeee;"<br />
! align="left" | [[Brasero]]<br />
| N<br />
| GPL<br />
| [http://projects.gnome.org/brasero/ here]<br />
| align="left" | Brasero is a application to burn CD/DVD for the Gnome Desktop.(Gnome Default) <br />
|}<br />
<br />
==Multimedia Players==<br />
===Windows===<br />
{| border="0" cellpadding="0" cellspacing="1" style="text-align:center; border:2px solid #ccccff; margin-bottom: 20px;"<br />
|- style="background:#ccccff"<br />
! style="width:120px;" | Name<br />
! style="width:100px;" | License<br />
! style="width:100px;" | Website<br />
! align="center" style="width:220px;" | Description<br />
|-<br />
! align="left" | [[foobar2000]]<br />
| Free, BSD<br />
| [http://www.foobar2000.org/ here]<br />
| align="left" | Advanced tagging, plugin capabilities, and kernel streaming support<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | [[MediaMonkey]]<br />
| Free, Shareware<br />
| [http://www.mediamonkey.com/ here]<br />
| align="left" | Supports many Winamp plugins<br />
|-<br />
! align="left" | MusikCube<br />
| BSD<br />
| [http://www.musikcube.com/ here]<br />
| align="left" | Supports dynamic playlists and advanced SQL capabilities <br />
|- style="background-color: #eeeeee;"<br />
! align="left" | VUplayer<br />
| Free<br />
| [http://www.vuplayer.com/ here]<br />
| align="left" | Supports many popular digital audio codecs and MOD tracker formats <br />
|-<br />
! align="left" | [[Winamp]]<br />
| Free, Shareware<br />
| [http://www.winamp.com/ here]<br />
| align="left" | Popular audio player for Windows<br />
| align="left" |<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | [[wxMusik]]<br />
| GPL<br />
| [http://musik.berlios.de/ here]<br />
| align="left" |A cross-platform open-source audio player<br />
|- <br />
! align="left" | [[VLC]]<br />
| Free<br />
| [http://www.videolan.org/vlc// here]<br />
| align="left" | VLC media player is a highly portable multimedia player and multimedia framework capable of reading most audio and video formats as well as DVDs, Audio CDs VCDs, and various streaming protocols. <br />
|}<br />
<br />
===Mac OS X===<br />
{| border="0" cellpadding="0" cellspacing="1" style="text-align:center; border:2px solid #bbffbb; margin-bottom: 20px;"<br />
|- style="background:#bbffbb;"<br />
! style="width:120px;" | Name<br />
! style="width:100px;" | License<br />
! style="width:100px;" | Website<br />
! style="width:220px;" | Description<br />
|-<br />
! align="left" | Cog<br />
| GPL<br />
| [http://cogosx.sourceforge.net/ here]<br />
| align="left" | An open-source digital audio player for OS X.<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | [[wxMusik]]<br />
| GPL<br />
| [http://musik.berlios.de/ here]<br />
| align="left" |A cross-platform open-source audio player<br />
|- <br />
! align="left" | Play<br />
| GPL<br />
| [http://sbooth.org/Play/ here]<br />
| align="left" |Play is an application for playing and managing audio files.<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | [[VLC]]<br />
| Free<br />
| [http://www.videolan.org/vlc// here]<br />
| align="left" | VLC media player is a highly portable multimedia player and multimedia framework capable of reading most audio and video formats as well as DVDs, Audio CDs VCDs, and various streaming protocols. <br />
|}<br />
<br />
===Linux===<br />
{| border="0" cellpadding="0" cellspacing="1" style="text-align:center; border:2px solid #ffcccc; margin-bottom: 20px;"<br />
|- style="background:#ffcccc;"<br />
! style="width:120px;" | Name<br />
! style="width:100px;" | License<br />
! style="width:100px;" | Website<br />
! style="width:220px;" | Description<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | [[Amarok]] <br />
| GPL <br />
| [http://amarok.kde.org/ here] <br />
| align="left" | Popular open-source KDE audio player similiar to Foobar2000<br />
|- <br />
! align="left" | [[wxMusik]]<br />
| GPL<br />
| [http://musik.berlios.de/ here]<br />
| align="left" |A cross-platform open-source audio player<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | [[XMMS]] <br />
| GPL <br />
| [http://www.xmms.org/ here] <br />
| align="left" | Popular open-source audio player similiar to Winamp <br />
|- <br />
! align="left" | [[VLC]]<br />
| Free<br />
| [http://www.videolan.org/vlc// here]<br />
| align="left" | VLC media player is a highly portable multimedia player and multimedia framework capable of reading most audio and video formats as well as DVDs, Audio CDs VCDs, and various streaming protocols. <br />
|}<br />
<br />
===PocketPC===<br />
''These players may not play all your media files. Check their websites for the format support.''<br />
* GSPlayer: http://hp.vector.co.jp/authors/VA032810/<br />
* MortPlayer: http://www.sto-helit.de/<br />
* TCPMP: http://tcpmp.corecodec.org/about<br />
<br />
==Tagging Utilities==<br />
===Windows===<br />
{| border="0" cellpadding="0" cellspacing="1" style="text-align:center; border:2px solid #ccccff; margin-bottom: 20px;"<br />
|- style="background:#ccccff"<br />
! style="width:150px;" | Name<br />
! style="width:100px;" | License<br />
! style="width:100px;" | Website<br />
! style="width:270px;" | Description<br />
|-<br />
! align="left" | Abander TagControl<br />
| Shareware<br />
| [http://www.softartstudio.com/tagcontrol/ here]<br />
| <br />
|- style="background-color: #eeeeee;"<br />
! align="left" | AudioShell<br />
| Free<br />
| [http://www.softpointer.com/AudioShell.htm here]<br />
| align="left" | Integrates with Windows Explorer<br />
|- <br />
! align="left" | Frontah<br />
| Free<br />
| [http://home.vxu.se/mdati00/frontah/ here]<br />
| align="left" | Transcode and tag editor for ID3v1.x, ID3v2.x, Lyrics3, Vorbis Comment, APEv1 & APEv2 tags. Supports ANSI, UTF8 and UTF16 text encoding depends on tag type.<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | Magic MP3 Tagger<br />
| Shareware<br />
| [http://www.magic-tagger.com here]<br />
| align="left" | Optimized for automatic music identification<br />
|- <br />
! align="left" | [[MediaMonkey]]<br />
| Free, Shareware<br />
| [http://www.mediamonkey.com/ here]<br />
| align="left" | Also a Media Player & Library<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | MetatOGGer<br />
| Free<br />
| [http://fireblast.free.fr/ here]<br />
| align="left" | Tags MP3 ([[ID3]]) and Ogg files (Vorbis comment, including Ogg FLAC and Speex)<br />
|-<br />
! align="left" | MP3 Book Helper<br />
| Free<br />
| [http://mp3bookhelper.sourceforge.net/ here]<br />
| align="left" | Tags [[ID3v1]], ID3v2.3, and Vorbis comments. Features: FreeDB, unicode, guessing and matching, and supporting PAR, SFV, SV, and NFO generation.<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | [[MP3tag]]<br />
| Free<br />
| [http://www.mp3tag.de/ here]<br />
| align="left" | Tags all files supporting [[ID3]], [[APEv2]], and [[Vorbis_Comment|Vorbis Comments]], not only MP3s<br />
|-<br />
! align="left" | [http://www.mp3-tag.com/ MP3 Tag Editor]<br />
| Shareware<br />
| [http://www.mp3-tag.com/ here]<br />
| align="left" | Software to edit tags in audio files of [[MP3]], [[WMA]], [[OGG]], [[ASF]], and other music format.<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | Mp3/Tag Studio<br />
| Shareware<br />
| [http://www.magnusbrading.com/mp3ts/ here]<br />
| align="left" | Supports ID3v1 & v2 '''only'''. Powerful matching and fancy filters<br />
|-<br />
! align="left" | [[Tag.exe]]<br />
| GPL<br />
| [http://www.synthetic-soul.co.uk/tag/ here]<br />
| align="left" | Command-line universal tagger for Windows<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | Tag &amp; Rename<br />
| Shareware<br />
| [http://www.softpointer.com/tr.htm here]<br />
|<br />
|-<br />
! align="left" | TagScanner<br />
| Free/Donate<br />
| [http://xdev.narod.ru/tagscan_e.htm here]<br />
|<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | The GodFather<br />
| Card/Donate<br />
| [http://users.otenet.gr/~jtcliper/tgf/ here]<br />
|<br />
|-<br />
! align="left" | [http://wmptagext.sourceforge.net/download.html WMPTSE]<br />
| Free/Donate<br />
| [http://wmptagext.sourceforge.net here]<br />
| align="left" | Software to integrate other tag format than [[ID3]] into Microsoft Windows Media Player.<br />
|}<br />
<br />
===Mac OS X===<br />
{| border="0" cellpadding="0" cellspacing="1" style="text-align:center; border:2px solid #bbffbb; margin-bottom: 20px;"<br />
|- style="background:#bbffbb;"<br />
! style="width:150px;" | Name<br />
! style="width:100px;" | License<br />
! style="width:100px;" | Website<br />
! style="width:270px;" | Description<br />
|-<br />
! align="left" | Tag<br />
| GPL<br />
| [http://sbooth.org/Tag/ here]<br />
| align="left" | An open-source tagging application for OS X<br />
|}<br />
<br />
===Linux===<br />
{| border="0" cellpadding="0" cellspacing="1" style="text-align:center; border:2px solid #ffcccc; margin-bottom: 20px;"<br />
|- style="background:#ffcccc;"<br />
! style="width:150px;" | Name<br />
! style="width:100px;" | License<br />
! style="width:100px;" | Website<br />
! style="width:270px;" | Description<br />
|-<br />
! align="left" | EasyTAG<br />
| GPL<br />
| [http://easytag.sourceforge.net/ here]<br />
| align="left" | Gnome tagging utility<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | <br />
|}<br />
<br />
==Encoders, Decoders, Etc.==<br />
All basic tools needed to make use of the audio formats supported here.<br />
<br />
===[[MP3]]===<br />
* [[LAME]] encoder/decoder: [http://www.rarewares.org/mp3.html download pre-compiled binaries here]. Also check the [[Lame Compiles|Latest recommended version]] page.<br />
* [[MP3Gain]], a Replay Gain-like utility: [http://mp3gain.sourceforge.net/download.php download here]<br />
<br />
===Ogg [[Vorbis]]===<br />
Currently, all recommended Ogg Vorbis utilities are available at the [http://www.rarewares.org/ogg.html Rarewares Ogg Vorbis page]. The following tools are important:<br />
<br />
* '''OggEnc2''': A command-line Ogg Vorbis encoder that can be used with most CD rippers.<br />
<br />
* '''OggDec''': Command-line decoder.<br />
<br />
* '''[[OggDropXPd]]''': An easy to use, drag'n'drop encoder/decoder with support for automatic tagging, renaming and playlist creation on encoding.<br />
<br />
* ''Encoding DLLs'': For encoding within CDex or WinLame.<br />
<br />
* '''VorbisGain''': The [[Replay Gain]] utility for Ogg Vorbis.<br />
<br />
In addition, the [[Lancer]] suite — a highly SSE-optimized suite of utilities and libraries — are available at [http://homepage3.nifty.com/blacksword/ this page] ''(in Japanese)''. See [[Lancer#Platform-specific Builds|this section]] for information about the different builds.<br />
<br />
===[[Musepack]] (MPC)===<br />
* [http://www.musepack.net/index.php?pg=win Download MPC for Windows]<br />
* [http://www.musepack.net/index.php?pg=lin Download MPC for Linux]<br />
* [http://www.musepack.net/index.php?pg=osx Download MPC for Mac OS X]<br />
* [http://www.musepack.net/index.php?pg=src Download MPC source code]<br />
<br />
* [http://forum.musepack.net/showthread.php?t=395 Forum announcement of SV8 release]<br />
<br />
===[[FLAC]]===<br />
* CoolEdit / Adobe Audition Filter supporting FLAC: [http://www.vuplayer.com/other.php download here]<br />
* Various FLAC-related utilities (incl. Replay Gain utility): [http://flac.sourceforge.net/download.html FLAC's SourceForge Download page]<br />
<br />
==Transcoders==<br />
''Note: Although these tools may convert from one encoding to another, please remember that [[transcoding]] to any [[lossy]] encoding <u>will</u> result in a degraded quality.''<br />
* BeSweet: http://besweet.notrace.dk/<br />
* BonkEnc<br />
* dBpowerAMP Music Converter (dMC): http://www.dbpoweramp.com/dmc.htm<br />
* foobar2000 (needs 3rd-party encoders)<br />
* MediaCoder: http://www.rarewares.org/mediacoder/<br />
* Omni Encoder: http://omniencoder.autobotcity.net/<br />
* Winamp<br />
* WinLAME: http://winlame.sourceforge.net/<br />
<br />
==Processing utilities==<br />
===Windows===<br />
{| border="0" cellpadding="0" cellspacing="1" style="text-align:center; border:2px solid #ccccff; margin-bottom: 20px;"<br />
|- style="background:#ccccff;"<br />
! style="width:120px;" | Name<br />
! style="width:100px;" | License<br />
! style="width:100px;" | Website<br />
! style="width:400px;" | Description<br />
|- style="background-color: #eeeeee;"<br />
! align="left" | [[lossyWAV]]<br />
| GPL<br />
| [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=56129&view=findpost&p=504087 here]<br />
| align="left" | lossyWAV is a lossy pre-processor for [[Wikipedia:Pulse-code modulation|PCM]] (uncompressed) WAV files. It reduces [[Wikipedia:Audio bit depth|bit depth]] of the input signal, which, when used in conjunction with certain lossless codecs, reduces the bitrate of the encoded file significantly.<br />
|}<br />
<br />
==Drivers==<br />
===ASPI===<br />
* Ahead Nero ASPI Driver: [ftp://ftp6.nero.com/wnaspi32.dll download]<br />
* Adaptec Windows ASPI Package: [http://www.adaptec.com/worldwide/support/suppdetail.jsp?sess=no&prodkey=ASPI-4.70 official website]<br />
* ForceASPI [http://radified.com/ASPI/forceaspi.htm radified.com]<br />
* ASPI4all [http://www.cdr-zone.com/software/aspi_layers/aspi4all.html CDR-Zone.COM]<br />
* FrogAspi [http://www.frogaspi.org/ official website]<br />
* VOB ASAPI Driver 1.3: [http://www.rarewares.org/files/ASAPI.exe download]<br />
<br />
===Sound===<br />
* ALSA Project [http://www.alsa-project.org/ official website]<br />
* kX Project [http://kxproject.lugosoft.com/ official website]<br />
* ZonaISIS [http://www.hispasonic.com/zonaisis/index.htm unofficial]<br />
* I have a dream ... [http://members.aol.com/cridi/ unofficial]<br />
<br />
==Links==<br />
* [http://www.reactos.org/wiki/index.php/Untested_%28open_source%29_software_list Open source softwares @ ReactOS wiki]<br />
* [http://www.rarewares.org/ RareWares]<br />
<br />
<br />
[[Category:Software]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=DBpowerampDBpoweramp2010-01-31T03:38:13Z<p>Akkurat: License correction.</p>
<hr />
<div>{{Infobox Software<br />
| name = dBpowerAMP with AccurateRip<br />
| screenshot = [[Image:Cdrippersmall.png‎]]<br />
| caption = fully featured CD ripper with C2 error support, AccurateRip, and PerfectMetaâ„¢<br />
| maintainer = dBpowerAMP Team<br />
| stable_release = 13.2<br />
| preview_release = n/a <br />
| operating_system = Windows, Linux/BSD (Wine Emulation)<br />
| use = Digital Audio Extraction<br />
| license = Free, Shareware <br />
| website = http://www.dbpoweramp.com/<br />
}}<br />
<br />
=Introduction= <br />
dBPowerAMP is a secure cd ripper, which features [[AccurateRip]]. It's often called a Swiss army knife of Audio. <br />
<br />
==Features==<br />
* Secure Ripper.<br />
* PerfectMetaâ„¢.<br />
* AccurateRip.<br />
* Correct C2 utilization.<br />
* Rip digitally sound from Audio CDs and store in a multitude of formats, dMC is the Fastest CD Ripper<br />
* Convert from one format to another, just about every audio type is supported: MP3, AAC, Windows Media Audio (WMA), Ogg Vorbis, AAC, Monkeys Audio, FLAC and many others [Codec downloads], whilst preserving ID Tags.<br />
* Multi-CPU Aware rips and encodes using all CPU cores simultaneously<br />
* HTOA (hidden track one audio) ripping - if CD drive is capable.<br />
* HDCD's can be decoded to 24 bit with DSP Effects<br />
* Volume Normalize audio files.<br />
* Windows Explorer Integration - right click Convert To & popup useful information on audio files (such as bitrate, length). <br />
* ID tag editing.<br />
* Record from LPs or anything [optional Auxiliary Input install].<br />
<br />
==AccurateRip==<br />
<br />
The philosophy behind AccurateRip is quite simple, each time an audio track is ripped (recorded by computer) it is compared with rips from other people, consequently this allows a confidence report to be generated. The conclusion that could be reached would be that four other people had exactly the same results. These results in turn would guarantee your rip was without error. The report may say hypothetically that three other people disagree with your rip, the likelyhood is that your CD has a scratch and should be cleaned.<br />
<br />
==PerfectMetaâ„¢==<br />
<br />
dBpoweramp pulls metadata from 4 providers: AMG, GD3, MusicBrainz and freedb simultaneously, including high resolution Album Art. It then compares the results and eliminates most errors<br />
<br />
==Guides==<br />
<br />
* [http://www.dbpoweramp.com/cd-ripper-setup-guide.htm]<br />
<br />
==External links==<br />
<br />
* [http://www.dbpoweramp.com/ dBpowerAMP official website]<br />
* [http://www.accuraterip.com/ AccurateRip official website]<br />
<br />
<br />
[[Category:CD Rippers]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACTREACT2009-06-07T23:28:06Z<p>Akkurat: Added info about REACT supporting EAC 0.99pb5.</p>
<hr />
<div>REACT ('''R'''un '''EAC''' '''T'''asks) can be used in conjunction with [[Exact Audio Copy]] (EAC), as an external compressor.<br />
<br />
It is, however, not an encoder, but an interim application that provides a scripting facility to call multiple 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. '''In short''', REACT allows you to run multiple tasks on the audio extracted, instead of only one.<br />
<br />
'''REACT is designed to work only with whole album extraction/ripping.'''<br />
<br />
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.<br />
<br />
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 '''@artist@''' in the script will be replaced by the [[freedb]] artist name, while '''$artist$''' will be replaced with a ''filename-friendly'' version of the artist name (with illegal characters replaced according to your requirements).<br />
<br />
'''From REACT v2.0 Final, most configuration can be done by editing the INI file only'''. Only advanced users should edit the .cfg files.<br />
<br />
REACT v2.0 as published does not currently work with EAC 0.99 prebeta 1-4 due to a naming scheme mismatch between old and new EAC versions. This has been solved in [[REACT:Mods#Synthetic_Soul.27s_Mod|Synthetic Soul's Mod]] or [[REACT:Mods#Akkurat.27s_Mod|Akkurat's Mod]] of REACT. Using EAC 0.99 prebeta 5 is only supported by [[REACT:Mods#Akkurat.27s_Mod|Akkurat's Mod]]. The mods have also fixed a number of known bugs and introduced new features. Before using a mod, install the original REACT 2.0 (download links at the bottom of this page).<br />
<br />
==Hotkeys==<br />
<br />
REACT adds a few useful hotkeys to EAC:<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Key || Function<br />
|-<br />
| F1 || Wiki page for EAC.<br />
|-<br />
| Alt-F1 || Wiki page for REACT (this page).<br />
|-<br />
| Ctrl-F2 || Configure EAC to be used with REACT.<br />
|-<br />
| Alt-F2 || Edit REACT.ini in notepad.<br />
|-<br />
| Alt-F3 || Edit REACT-image.cfg in notepad.<br />
|-<br />
| 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 & Copy instead of Copy only. If the INI key CreateAllCuesheets=1, all four cuesheet types are saved as different files as well.<br />
|-<br />
| F10 || Shortcut to menu "Action - Copy Image and Save CUE Sheet - Compressed...". 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.<br />
|-<br />
|}<br />
<br />
==Configuration Files==<br />
<br />
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:<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| File || Description<br />
|-<br />
| REACT.ini || Regular INI file with key=values pairs. Defines variables used by the CFG files.<br />
|-<br />
| REACT-tracks.cfg || - Used for "Copy Selected Tracks Compressed", default shortcut : F4<br />
|-<br />
| REACT-image.cfg || - Used for "Copy Image & Create CUE Sheet Compressed", default shortcut : F10<br />
|-<br />
|}<br />
<br />
==The REACT.INI File==<br />
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.<br />
<br />
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.<br />
<br />
===Settings Section===<br />
<br />
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:<br />
<pre><br />
[Settings]<br />
Version=2.0<br />
ImageExt=flac<br />
ImageNaming=$artist$ - [$year$] $album$<br />
ImageHotKey={F10}<br />
TracksHotKey={F4}<br />
TracksHotVal=+{F5}<br />
VA=Various Artists<br />
CreateAllCuesheets=0<br />
RunCoverDownloader=1<br />
CoverDownloader=C:\Program Files\REACT2\coverdownloader\albumart.exe<br />
EAC=C:\Program Files\Exact Audio Copy\EAC.exe<br />
MinimizeCompressionWindow=1<br />
ProcessPriority=1<br />
Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|'|#|[|]<br />
</pre><br />
<br />
Some of the keys are obvious, and some you really don't need to bother with unless you are a REACT Ninja, but here's a few to watch out for:<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| 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.<br />
|-<br />
| 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's textboxes, and therefore do not strictly relate to the extended variables available within your config.<br />'''Please note:''' Your scheme ''must'' begin "$artist$ -" in order for Various Artists discs to be recognised properly.<br />
|-<br />
| VA || Default set to 'Various Artists'. The variable @va@ holds this string. See @cdartist@ below for further details.<br />
|-<br />
| 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.<br />
|-<br />
| 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.<br />
|-<br />
| 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).<br />
|}<br />
<br />
===UserTrackFormat Section===<br />
This section enables/disables output audio formats to be created.<br />
<br />
===UserOutputNames Section===<br />
Here the track names and the output paths are defined for the different output audio formats.<br />
OutRoot is the common directory used under many file naming schemes. Individual directories and naming schemes for each format are set with respective ImageDir_Flac, TrackDir_AAC, etc. When saving formats to different drives OutRoot must be replaced with address spelled out. <br><br />
Different naming schemes are available for Various Artist CDs. see variable options under METADATA<br><br />
TrackName_NA - file naming for single artist <br><br />
TrackName_VA - file naming for various artist<br><br />
TrackName_SA_acdir=$n - $~t - ACDIR is used when ripping an image and splitting it into tracks. It will be passing [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=35158&view=findpost&p=327260 EAC variables] directly through. The tilde [http://nyaochi.sakura.ne.jp/xoops/modules/mysoftwares/tc_2.html replaces illegal filename characters with a space].<br><br />
File naming schemes are largely up to personal usage and preference but some examples are<br><br />
[http://www.teqnilogik.com/tutorials/eac.htm#SettingEACOptions example 1]<br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=956 example 2]<br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=47558 example 3]<br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=31698 example 4]<br />
<br />
===UserSettings Section===<br />
Set various variables for more detailed configuration.<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| 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. <br />
|-<br />
| Comment || Override the default @comment@ variable (taken from EAC)<br />
|-<br />
| EmbedCover || Select if you want your cover pictures embeded into the audio files, or only copied to the target directory as 'folder.jpg'.<br />
|-<br />
| ReplayGain || Enable/Disable ReplayGain calculation and tagging.<br />
|-<br />
| ApplyAlbumGain || Apply the album gain to the files, so they are played back with a consistent volume across the albums on every player.<br />
|-<br />
| AdjustAlbumGain_dB || If you want to adjust the album gain from 89.0 dB when applying to the audio, set adjustment in dB here.<br />
|-<br />
| AddCuesheetAG || Add Album gain/Album peak values to the cuesheet as REM lines. This implies that WaveGain is ran.<br />
|-<br />
| 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.<br />
|-<br />
| Opt_... || Variables that defines options for each encoder used.<br />
|-<br />
| Ver_... || Variables that defines the version number for each encoder used.<br />
|}<br />
<br />
==Editing the CFG files (advanced)==<br />
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):<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| '''PATHS AND FILES''' || <br />
|-<br />
| @reactdir@ || The path to the directory in which REACT resides<br />
|-<br />
| @tools@ || The path to the directory in which the encoders reside. Set within the INI file<br />
|-<br />
| @mymusic@ || The path to your 'My Music' folder<br />
|-<br />
| @sourcedir@ || The path to the folder in which the copied source files are located ([[WAV]]/LOG/CUE)<br />
|-<br />
| @basename@ || The name of the file being created, excluding folders and extension <br />
|-<br />
| @source@ || The path to the temporary source [[WAV|WAVE]] file<br />
|-<br />
| @image@ || The path to the final image file, when used in '''Copy Image''' mode<br />
|-<br />
| @imageext@ || The extension of the compressed target image, e.g. flac<br />
|-<br />
| @sourcecuesheet@ || The path to the (temporary) source [[Cuesheet|cuesheet]], when used in '''Copy Image''' mode<br />
|-<br />
| @cuesheet@ || The path to the final [[Cuesheet|cuesheet]], when used in '''Copy Image''' mode<br />
|-<br />
| @eaclog@ || The path to the log file created by [[Exact Audio Copy|EAC]]<br />
|-<br />
| @cover@ || The path to the cover/album art picture file, dowloaded with CoverDownloader.<br />
|-<br />
| @albumfile@ || The base path to the cuesheet files without extension, created when CreateAllCuesheets=1 in the INI file. E.g, "@albumfile@.[mg].cue" is the multiple wav files cuesheet with gaps. <br />
|-<br />
| || <br />
|-<br />
| '''METADATA''' || <br />
|-<br />
| @cdartist@ || The name of the CD artist. If @various@=1 @cdartist@ equals the variable @va@, otherwise @artist@. Use $cdartist$ in file paths<br />
|-<br />
| @artist@ || The name of the track artist. Use $artist$ in paths<br />
|-<br />
| @album@ || The name of the album. Use $album$ in paths<br />
|-<br />
| @title@ || The song title. Use $title$ in paths<br />
|-<br />
| @track@ || The track number. Use $track$ to zero-pad the track number, i.e.: turn 9 into 09 <br />
|-<br />
| @numtracks@ || The total number of tracks. Use $numtracks$ to zero-pad the number<br />
|-<br />
| @genre@ || The album genre. Use $genre$ in paths<br />
|-<br />
| @year@ || The album year<br />
|-<br />
| @comment@ || The comment. Use $comment$ in paths<br />
|-<br />
| @freedbid@ || The [[freedb]] ID<br />
|-<br />
| || <br />
|-<br />
| '''OTHER''' || <br />
|-<br />
| @various@ || Is 1 if the EAC 'Various' checkbox was checked. Otherwise 0<br />
|-<br />
| @va@ || The name of VariousArtist. Default 'Various Artists'.<br />
|-<br />
| @crc@ || The [[CRC]] of the file<br />
|-<br />
| @bitrate@ || The value of the '''Bitrate''' dropdown on EAC's External Compressor dialogue<br />
|-<br />
| @curdate@ || The current date<br />
|}<br />
<br />
<br />
==Links==<br />
<br />
Ask REACT questions in this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=50273<br />
<br />
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=50259<br />
<br />
Download [[User:Synthetic Soul|Synthetic Soul's]] or [http://www.hydrogenaudio.org/forums/index.php?showuser=48750 Akkurat's] mod (for EAC 0.99 support and more) from this page : [[REACT:Mods]]<br />
<br />
[[Category:REACT]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:ModsREACT:Mods2009-06-07T19:57:10Z<p>Akkurat: Added some space between mod texts.</p>
<hr />
<div>==Akkurat's Mod==<br />
<br />
===Description===<br />
This mod continues from where the great Synthetic Soul's 2.0.ssb16p mod of REACT left. This mod is going to mainly fix bugs and problems. So, only "good" feature requests please. :) Thanks.<br />
<br />
Please read [http://wiki.hydrogenaudio.org/index.php?title=REACT:Mods#Synthetic_Soul.27s_Mod Synthetic Soul's Mod] if you want to know what changes Synthetic Soul brought to REACT with his mod.<br />
<br />
<br />
===Documentation===<br />
<br />
====Notes====<br />
<br />
=====EAC "Use this directory"=====<br />
Starting from 2.0.akku.b03 version, configuring REACT with Ctrl-F2 will always reset the "Use this directory" path setting in EAC to user "My Music" directory. This directory is only used to temporarily hold the EAC extracted files, it has no relation to the INI "OutRoot" directory setting where REACT puts your final encoded and other files. The "Use this directory" setting can be changed after configuring REACT.<br />
<br />
=====INI "ImageNaming" setting=====<br />
The value of this setting must begin with "$artist$ -" (without quotes) in order for Various Artists discs to be recognized properly in image mode.<br />
<br />
=====Cover Art Downloader / Album Art Downloader=====<br />
You can start the program by Alt-F10 when EAC window has focus. This feature was previously undocumented.<br />
<br />
=====Additional Meta Data dialog=====<br />
Starting from 2.0.akku.b03 version, the dialog is only reinitialized (values cleared) when:<br />
<br />
# REACT is launched.<br />
# CD drive (adapter) is changed from the EAC combobox.<br />
# CD is ejected or the "CD Artist" and "CD Title" fields are empty.<br />
<br />
Previously the dialog was reinitialized every time the "CD Artist" or "CD Title" values changed.<br />
<br />
=====Various Artists=====<br />
Starting from 2.0.akku.b03 version, the way REACT works with Various Artists albums has been changed. This change fixes the problems with "malformed" VA artist freedb data.<br />
<br />
REACT will uncheck the VA checkbox and enter the INI VA setting value to the artist field when starting a rip. The VA checkbox is NOT checked back by REACT'''(****)''' because EAC will detect the new artist value, if it's "safe"'''(*)''', as VA and will check it'''(**)''' by itself when a rip starts.<br />
<br />
In the very unlikely event that your CD artist is something like "Various Polarbears", "Variously", etc. (starts with "Various" value), but it's not a "Various Artists" CD, the rip will FAIL even if you uncheck the VA checkbox prior ripping. This is something that would also fail when running only EAC.<br />
<br />
On new VA albums not detected by freedb, please use "Various" (without quotes) as the artist value if you're going to submit the new data to freedb'''(***)'''. You can't check the VA checkbox with mouse in this case, but you can press TAB or ENTER after inputting the "Various" and the VA checkbox is checked.<br />
<br />
'''(*)''' "Safe" INI VA setting values: "VA", "Various", "Various Artists" (without quotes) (basically anything starting with "v", "va", "var",..., "various").<br />
<br />
'''(**)''' In track mode and when creating at least one cuesheet with INI "CreateCuesheet" setting (not required) in image mode. The image rip will still be OK even if EAC doesn't automatically check the VA checkbox.<br />
<br />
'''(***)''' Rules for submitting CDs to freedb: http://www.freedb.org/en/faq.3.html#22<br />
<br />
'''(****)''' The decision why to do it like this is that, this way the image filename obeys the INI VA setting value (previously it was "Various" no matter what the INI VA setting contained), and cuesheets & EAC logfile has the INI VA setting value as the CD artist/performer value. I think it's a good trade-off, one missing checkbox in image mode (when no additional cuesheets) vs. proper INI VA values in various ;) files.<br />
<br />
=====Windows Vista=====<br />
Vista is currently not fully supported because of the restricted user rights. Vista users should make sure that the user account they are logged in has read+write permissions for the following folders:<br />
* REACT folder<br />
* "Use this directory" path setting in EAC (default set by REACT: user "My Music" folder)<br />
* INI "OutRoot" folder (default setting: user "My Music\EAC" folder)<br />
<br />
=====EAC Compression Queue=====<br />
REACT doesn't support the Compression Queue feature of EAC.<br />
<br />
<br />
====New tokens / variables====<br />
@reactversion@ = Version information, e.g. REACT v2.0.akku.b03.<br />
<br />
<br />
====New INI options====<br />
<br />
=====[Settings] CreateCuesheet=====<br />
This option replaced the old "CreateAllCuesheets" option!<br />
<br />
Cuesheets are not created if this option is left empty (default). Except when ripping into tracks, the "glean cuesheet" (REACT.cue) is still created temporarily because it's needed to determine the correct "number of tracks" when ripping a CD with DATA track (enhanced CD).<br />
<br />
When ripping into tracks and at least one cuesheet is selected, the "glean cuesheet" (REACT.cue) is created (copied) from the first created cuesheet. This avoids the need to run another cuesheet generation from EAC and thus speeds up the process (especially when retrieving UPC/ISRC codes in cuesheet generation).<br />
<br />
Cuesheets:<br />
* s = Single WAV File<br />
* mg = Multiple WAV Files With Gaps (Noncompliant)<br />
* m = Multiple WAV Files With Left Out Gaps<br />
* mc = Multiple WAV Files With Corrected Gaps<br />
<br />
Examples:<br />
;CreateCuesheet=<br />
: No cuesheets.<br />
;CreateCuesheet=mg<br />
: Create one cuesheet.<br />
;CreateCuesheet=m|mg|s<br />
: Create multiple cuesheets (order is irrelevant).<br />
<br />
The pipe ( | ) character is used as the separator when creating multiple cuesheets. Do not use separators at the beginning or at the end of the value!<br />
<br />
Read this guide http://wiki.hydrogenaudio.org/index.php?title=EAC_and_Cue_Sheets and this http://wiki.hydrogenaudio.org/index.php?title=EAC_Gap_Settings if you're not sure which cuesheet to select. Most probably it's the "mg" (Multiple WAV Files With Gaps (Noncompliant)).<br />
<br />
=====[Settings] CoverDownloaderLocalPath=====<br />
If RunCoverDownloader is set, and you set this to the path of your existing artwork, REACT will check for the existence of a file before opening AlbumArt.exe. If a file exists it will copy that file to the working directory, renaming it "<album>.jpg" (as REACT expects artwork to be called) and AlbumArt.exe will not be opened. If the path is not set, or a file does not exist, AlbumArt.exe will open as normal. You can use $artist$, $album$ and $year$ tokens in the path, e.g.:<br />
<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\[$year$] $album$\folder.jpg<br />
<br />
CoverDownloaderLocalPath is also used to specify Album Art Downloader XUI's /localImagesPath switch, if it does not match a local file. You will need to set CoverDownloaderXUI=1 to use this feature. Note: $artist$ and $album$ are correctly converted to XUI's %artist% and %album% syntax. The $year$ token is not supported when using this feature.<br />
<br />
Therefore, if you do not want to direct REACT to a specific file, you may want to use Album Art Downloader XUI's wildcard support (see explanation below) to specify a more general local search, e.g.:<br />
<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\**\*.jpg<br />
<br />
This will open Album Art Downloader XUI, using any JPEG in "C:\Documents and Settings\My Name\My Documents\My Music" and its subfolders as a potential source.<br />
<br />
Another example:<br />
<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\**\*.jpg<br />
<br />
Album Art Downloader XUI's wildcard support for /localImagesPath:<br />
{| border="0" cellpadding="2" cellspacing="3"<br />
|-valign="top"<br />
| * || Wildcard, matches any characters<br />
|-valign="top"<br />
| \**\ || Subfolder search. Any folders will match<br />
at this point in the path. For example<br />
"\Art\Unsorted\**\*.jpg" will match:<br />
\Art\Unsorted\image.jpg<br />
\Art\Unsorted\misc\image.jpg<br />
\Art\Unsorted\misc\old\image.jpg<br />
<br />
"\Art\Unsorted\*\*.jpg" will match only:<br />
\Art\Unsorted\misc\image.jpg<br />
|}<br />
<br />
=====[Settings] OpenAddMetaDataDiag=====<br />
If set to 1, the Additional Meta Data dialog is opened in position relative to the bottom right corner of the EAC window at REACT startup. Except when the EAC window is placed out of desktop borders. In this case the dialog is centered (default behavior when opening the dialog manually by Alt-F5).<br />
<br />
=====[UserSettings] DebugMode=====<br />
Setting this to 1 will create a debugging.txt file in the REACT folder. This file could help you report bugs in REACT. This setting is not related to the "Debug" setting and it will not affect the batch file.<br />
<br />
<br />
====Tools====<br />
List of updated tools in akku.b04.<br />
<br />
{| border="0" style="text-align:left" width="250"<br />
! Tool !! Version<br />
|-<br />
| flac.exe || 1.2.1b<br />
|-<br />
| metaflac.exe || 1.2.1b<br />
|-<br />
| lame.exe || 3.98.2<br />
|-<br />
| metamp3.exe || 0.92 beta 5<br />
|}<br />
<br />
<br />
===Contact===<br />
Comments, questions, bug reports, etc., please contact [http://www.hydrogenaudio.org/forums/index.php?showuser=48750 Akkurat] in Hydrogenaudio Forums.<br />
<br />
Or write to [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 Released] thread.<br />
<br />
<br />
===Changelog===<br />
'''2.0.akku.b04''' (7th June 2009)<br />
* Changed files: REACT.exe, REACT.ini, REACT-image.cfg & REACT-track.cfg.<br />
* Added files - Tools: flac.exe, lame.exe, metaflac.exe & metamp3.exe.<br />
<br />
<br />
* Fixed REACT to work with the changed EAC 0.99pb5 command line switches.<br />
* Fixed a bug with image filenames saved sometimes incorrectly (again for the 3rd time!) in Windows Vista. The method was changed and the procedure is slightly slower now; filename will appear "one letter at a time" to the save dialog.<br />
* Fixed cuesheet generation again; the indices and gaps detection windows were detected in wrong order. This made REACT error with CD's that had lots of track indices.<br />
* Fixed left behind glean cuesheet file not deleted in track mode when creating normal cuesheet(s) with the INI setting.<br />
* Fixed a tricky problem with EAC not using the changed "Use this directory" setting in image mode in certain situations. If you see REACT inserting drive+path+filename "one letter at a time" to the save dialog in image mode, don't fret, it's this fix at work.<br />
* Fixed bad file naming scheme settings not detected by REACT in certain situations.<br />
* Fixed a bug where long lasting and/or failing freedb query made REACT fail to "hook" to the EAC window.<br />
<br />
<br />
* Added "check for EAClog" to track config.<br />
* Changed the bat file delete command so that there is no quick flash of error message at the very end of both configs.<br />
* Changed Mp3 tagging switches for the updated MetaMP3 in both configs.<br />
* Added the fix for MetaMP3 "wildcard parse bug with filenames ending with any multiples of 2 consecutive period chars" to both configs.<br />
* Changed disc related tagging so that both "discname" and "discnumber"/"totaldiscs" tags are written if supplied. Changed also the way the folder structure is created when both are supplied; the "discname" is in parenthesis after the "discnumber": <path>\<discnumber> (<discname>).<br />
<br />
<br />
* REACT.ini<br />
** "Version" updated.<br />
** Changed default "UserTrackFormats" to "Flac" and "LameMP3".<br />
** "Opt_LameMP3" updated. Removed "--vbr-new" because it's default VBR routine with the updated LAME encoder.<br />
** "Ver_LameMP3" updated.<br />
** "Ver_Flac" updated.<br />
<br />
<br />
* Updated FLAC to 1.2.1b (flac.exe & metaflac.exe).<br />
* Updated LAME to 3.98.2 (lame.exe).<br />
* Updated MetaMP3 to 0.92 beta 5 (metamp3.exe).<br />
** Fixes a bug with zero-padded track numbers when using only "tracknumber" in tagging.<br />
** Updating to this version automatically fixes the "discname" tagging bug in REACT configs.<br />
<br />
<br />
* Changed REACT configuring (Ctrl-F2):<br />
** EAC "Use CD-Text information in CUE sheet generation" setting is set ON (needed with track encoding in image mode).<br />
** EAC "Create '.m3u' playlist on extraction" setting is set OFF.<br />
** EAC "Use various artist naming scheme" setting is always set ON.<br />
** EAC "On unknown CDs," and "automatically access online freedb database" settings are always set ON.<br />
** REACT now waits for the EAC process to close completely before configuring.<br />
*** Added splash window while closing the process because it could take some time.<br />
** REACT will now always restart after configuring.<br />
<br />
<br />
* Added EAC Compression Queue not supported text to the "Notes" section of the documentation.<br />
* Added "Tools" section to documentation. Lists all updated tools used in this mod.<br />
<br />
<br />
'''2.0.akku.b03''' (11th August 2008)<br />
* Changed feature: now it's possible to create only the cuesheet(s) user wants.<br />
* Removed "CreateAllCuesheets" option from the INI file! ("CreateCuesheet" option replaced this)<br />
* Added "CreateCuesheet" INI option. (read the "New INI options" section for how to use this new option)<br />
<br />
<br />
* Added new feature: opening the Additional Meta Data dialog at startup is now possible by setting "OpenAddMetaDataDiag" to 1 in the INI file.<br />
* Changed feature: Additional Meta Data dialog is opened in position relative to the bottom right corner of the EAC window if it's set to open at startup. (read the "New INI options" section for more information)<br />
* Changed the Additional Meta Data dialog column widths to avoid horizontal scrollbar when vertical scrollbar appears.<br />
<br />
<br />
* Changed the way REACT works with Various Artists albums (read the "Notes" section for more information).<br />
** Fixes the problems with "malformed" VA artist freedb data.<br />
** Image filename obeys the INI VA setting.<br />
** Cuesheets & EAC logfile has the INI VA setting value as the CD artist/performer value.<br />
* Changed the required active naming scheme start value from "%D" to "%D -". REACT will notify the user if the settings are not correct at the program launch.<br />
* Changed: REACT will notify the user if the "ImageNaming" value in INI doesn't begin with "$artist$ -" at the program launch or after closing the INI file opened by Alt-F2.<br />
* Changed the way the Additional Meta Data dialog is reinitialized (read the "Notes" section for more information).<br />
<br />
<br />
* Changed REACT.ini version. From now on, the INI and the program version will be synchronized (even if there's no update to the INI file).<br />
* Added previously not included "CoverDownloaderLocalPath" and "DebugMode" options to the INI file.<br />
* Fixed the previously undocumented "run Album Art Downloader" (Alt-F10) hotkey to be only active when EAC window has focus.<br />
<br />
<br />
* Added new token/variable: @reactversion@.<br />
* Changed "Comment" option in INI file to include the new @reactversion@ token.<br />
<br />
<br />
* Fixed cuesheet generation problems when "Retrieve UPC/ISRC code in CUE sheet generation" option is set in EAC.<br />
* Changed: "Use this directory" setting in EAC is mandatory and REACT will notify the user if it's not set at the program launch. Avoids/fixes the cuesheet generation problems when "Standard directory for extraction: Ask every time" option is set in EAC.<br />
* Changed: configuring REACT by Ctrl-F2 will now set the "Use this directory" setting in EAC and the user "My Music" directory is used as the destination folder.<br />
<br />
<br />
* Fixed a bug with image filenames saved sometimes incorrectly (again) in Windows Vista.<br />
* Changed: if the image filename set still fails, the user is notified about this and has an option to manually enter the correct filename or by pasting it from the clipboard.<br />
<br />
<br />
* Fixed EAClog cleanup. Only the left behind EAClog of current album is deleted.<br />
<br />
<br />
* Fixed a couple of problems when the INI file opened by Alt-F2 wasn't closed before ripping. REACT now notifies the user about this and the INI file (in Notepad) must be closed.<br />
<br />
<br />
* Fixed lost window focus when starting REACT.<br />
* Fixed lost window focus when changing the CD Artist or CD Title fields.<br />
* Fixed couple of REACT info not visible in EAC window title problems.<br />
<br />
<br />
* Updated AutoIt from v3.2.8.1 to v3.2.12.1 and changed REACT to work with the new version. There were some fixes, among others, to AutoIt in Vista, so hopefully this update improves REACT functionality in Vista.<br />
<br />
<br />
* Fixed up a bit the "DebugMode" logging mess to debugging.txt when multithreading in tracks mode.<br />
<br />
<br />
'''2.0.akku.b02''' (10th May 2008, first public release)<br />
* Feature change: CoverDownloader starts now before cuesheet generation.<br />
<br />
<br />
'''2.0.akku.b01''' (7th February 2008)<br />
* Fixed a rare bug with image filenames saved sometimes incorrectly.<br />
* Changed the cuesheet creation once more to fix couple of rare bugs.<br />
* Changed REACT-track.cfg to show DOS prompt output correctly when Debug=1 set.<br />
* Fixed left behind EAClog cleanup failure when using EAC 0.99 versions.<br />
<br />
<br />
===Download===<br />
Latest version direct download: [http://www.hydrogenaudio.org/forums/index.php?act=attach&type=post&id=5140 REACT_2.0.akku.b04.zip]<br />
<br />
Older versions (and file hashes) are available from [http://www.hydrogenaudio.org/forums/index.php?showtopic=63179 Akkurat's REACT mod] thread in Hydrogenaudio Forums.<br />
<br />
<br />
<br />
<br />
<br />
==Synthetic Soul's Mod==<br />
<br />
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]<br />
<br />
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].<br />
<br />
===Key Points===<br />
<br />
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.<br />
* Track-level tokens supported.<br />
* Additional meta data added to cuesheets, as REM statements.<br />
* Fixes issue in REACT with '%' in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=494794 post] ).<br />
* Fixes issue in REACT with '&' in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495493 post] ).<br />
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.<br />
* Will only rewrite INI file on major or minor version change, not a new build.<br />
* Use Test & Copy by adding <code>Test=1</code> under the Settings section of REACT.ini.<br />
<br />
<br />
===Description===<br />
<br />
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs. This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).<br />
<br />
The dialogue is opened using '''Alt+F5'''. The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also. If you close the dialogue it is simply hidden from view, so your list items will stay intact. Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.<br />
<br />
The current list state is recorded in a new file called "meta.ini" in your REACT folder. The values in this INI are eventually used to replace tokens with values when your config runs. The INI is updated any time that you update or delete an item.<br />
<br />
====Setting Defaults====<br />
<br />
Default tokens and their values can be set in the REACT.ini file, under the newly created '''DefaultMetaData''' section. When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults. The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see '[[REACT:Mods#A Basic Alternative|A Basic Alternative]]').<br />
<br />
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of '1'. If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to '1' when a new disc is inserted. The article '[[REACT:Adding Support For Disc Information]]' details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.<br />
<br />
====Processing Tokens====<br />
<br />
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements. Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values. Track-level tokens are added beneath the appropriate TRACK statement. Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR's $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}. <br />
<br />
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@. These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.<br />
<br />
====Track-Level Tokens====<br />
<br />
Most tokens are album-related. If you want to set track-level tokens you should use the format '''<token name>[<track number>]''', e.g.: '''composer[1]''' to set the composer token value for track one. Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.<br />
<br />
====Using The Tokens====<br />
<br />
You can use both @ and $-style tokens in your config. When using $ tokens any integer value will be zero-padded ("4" -> "04") and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement. Therefore, if you create a token called '''discname''' you can use @discname@ when tagging, and $discname$ when creating a file or folder name. <br />
<br />
<br />
===A Basic Alternative===<br />
If you want to use additional tokens in your config but do not want to use this mod you ''can'' add additional variables to the existing '''UserTrackFormats''', '''UserOutputNames''', and, ''more pertinently'', '''UserSettings''' sections of REACT.ini. You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.<br />
<br />
<br />
===Changelog===<br />
2.0.ssb5, 03/05/07<br />
* First public release.<br />
<br />
2.0.ssb6, 04/05/07<br />
* Additional Meta Data dialogue made child of EAC window.<br />
* Changed function prefix from fGUI to fDiag to save confusion.<br />
<br />
2.0.ssb8, 14/05/07<br />
* Moved default values into REACT.ini.<br />
* Fixed the code that writes track-level meta data to the cuesheet.<br />
* Current token values now stored in "meta.ini", not "metadata.ini".<br />
* Moved a little more code from the main source file into the include.<br />
<br />
2.0.ssb9, 14/05/07<br />
* Track cuesheets now supported.<br />
<br />
2.0.ssb10, 30/05/07<br />
* Added underscore prefix to identify temporary tokens.<br />
* Fixed REACT issue with "%" in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=494794 post] )<br />
* Fixed REACT issue with "&" in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495493 post] )<br />
<br />
2.0.ssb11, 01/07/07<br />
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=501821 post] )<br />
* Will only rewrite INI file on major or minor version change, not a new build.<br />
<br />
2.0.ssb12, 02/07/07<br />
* Log file handling now works correctly for track ripping.<br />
<br />
2.0.ssb13, 04/07/07<br />
* Reverted cover filename to "<album>.jpg" irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=502330 post] )<br />
<br />
2.0.ssb15, 17/07/07<br />
* Reverted @albumfile@ to "<sourcedir>\<album>", irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=505038 post] )<br />
* Add <code>Test=1</code> under the Settings section of REACT.ini to use Test and Copy mode.<br />
<br />
2.0.ssb16, 29/07/07<br />
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.<br />
* Fixed bug with @ and $ values. @totaldiscs@ will now correctly return "3", while $totaldiscs$ will return "03".<br />
<br />
2.0.ssb16b, 15/08/07<br />
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=510414 post] ).<br />
<br />
2.0.ssb16c, 21/08/07<br />
* Add <code>CoverDownloaderXUI=1</CODE> to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=511640 post] ).<br />
<br />
2.0.ssb16d, 21/08/07<br />
* Added BMP support to above.<br />
<br />
2.0.ssb16e, 23/08/07<br />
* Fixed bug with above, where the artist and album did not change with the disc.<br />
<br />
2.0.ssb16f, 11/09/07<br />
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=512481 post] ).<br />
<br />
2.0.ssb16g, 17/09/07<br />
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter. This will treat the files as if they had just been created by EAC as per normal execution.<br />
<br />
2.0.ssb16h, 17/09/07<br />
* Set <code>CoverDownloaderLocalPath</code>, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader. You may use $artist$ and $album$ tokens in the path, e.g.:<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg<br />
<br />
2.0.ssb16i, 12/11/07<br />
* Fixed a bug with <code>CreateAllCuesheets</code> when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529370 post] ).<br />
* Reinstated <code>TracksHotVal</code>, after unwittingly removing the functionality.<br />
<br />
2.0.ssb16j, 14/11/07<br />
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529854 post] ).<br />
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529854 post] ).<br />
<br />
2.0.ssb16k, 16/11/07<br />
* Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=530101 post] ).<br />
* UserOutputNames INI section no longer escaped, so you can again use Window's tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=530166 post] ).<br />
* REACT now checks that EAC is the active window before sending the commands to create the four cuesheets. <br />
<br />
2.0.ssb16l, 19/11/07<br />
* Log file name in track mode now, finally, calculated correctly.<br />
* The <code>RunCoverDownloader</code> values as documented in [[REACT|the wiki page]] should now work as expected.<br />
<br />
2.0.ssb16m, 28/11/07<br />
* The number of tracks to process is now calculated from a cuesheet in track mode.<br />
* Expanded CreateAllCuesheets code to notify the user if a problem occurs.<br />
<br />
2.0.ssb16n, 30/11/07<br />
* Added Akkurat's improvements to the CreateAllCuesheets processing.<br />
* Added nago's multi-thread amendments.<br />
* Updated configs and INI are now included in the download.<br />
<br />
2.0.ssb16o, 29/01/08<br />
* Fixed a bug regarding track-level tokens with double-digit track numbers.<br />
<br />
2.0.ssb16p, 02/02/08<br />
* Fixed a bug with backslashes in additional meta data not being written to cuesheets.<br />
* Double quotes in additional meta data are now converted to apostrophes when written to the batch file.<br />
<br />
===Download===<br />
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16p.zip REACT 2.0.ssb16p]<br />
<br />
[[Category:REACT|Mods]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:ModsREACT:Mods2009-06-07T19:54:58Z<p>Akkurat: /* Akkurat's Mod */ Added akku.b04 version information.</p>
<hr />
<div>==Akkurat's Mod==<br />
<br />
===Description===<br />
This mod continues from where the great Synthetic Soul's 2.0.ssb16p mod of REACT left. This mod is going to mainly fix bugs and problems. So, only "good" feature requests please. :) Thanks.<br />
<br />
Please read [http://wiki.hydrogenaudio.org/index.php?title=REACT:Mods#Synthetic_Soul.27s_Mod Synthetic Soul's Mod] if you want to know what changes Synthetic Soul brought to REACT with his mod.<br />
<br />
<br />
===Documentation===<br />
<br />
====Notes====<br />
<br />
=====EAC "Use this directory"=====<br />
Starting from 2.0.akku.b03 version, configuring REACT with Ctrl-F2 will always reset the "Use this directory" path setting in EAC to user "My Music" directory. This directory is only used to temporarily hold the EAC extracted files, it has no relation to the INI "OutRoot" directory setting where REACT puts your final encoded and other files. The "Use this directory" setting can be changed after configuring REACT.<br />
<br />
=====INI "ImageNaming" setting=====<br />
The value of this setting must begin with "$artist$ -" (without quotes) in order for Various Artists discs to be recognized properly in image mode.<br />
<br />
=====Cover Art Downloader / Album Art Downloader=====<br />
You can start the program by Alt-F10 when EAC window has focus. This feature was previously undocumented.<br />
<br />
=====Additional Meta Data dialog=====<br />
Starting from 2.0.akku.b03 version, the dialog is only reinitialized (values cleared) when:<br />
<br />
# REACT is launched.<br />
# CD drive (adapter) is changed from the EAC combobox.<br />
# CD is ejected or the "CD Artist" and "CD Title" fields are empty.<br />
<br />
Previously the dialog was reinitialized every time the "CD Artist" or "CD Title" values changed.<br />
<br />
=====Various Artists=====<br />
Starting from 2.0.akku.b03 version, the way REACT works with Various Artists albums has been changed. This change fixes the problems with "malformed" VA artist freedb data.<br />
<br />
REACT will uncheck the VA checkbox and enter the INI VA setting value to the artist field when starting a rip. The VA checkbox is NOT checked back by REACT'''(****)''' because EAC will detect the new artist value, if it's "safe"'''(*)''', as VA and will check it'''(**)''' by itself when a rip starts.<br />
<br />
In the very unlikely event that your CD artist is something like "Various Polarbears", "Variously", etc. (starts with "Various" value), but it's not a "Various Artists" CD, the rip will FAIL even if you uncheck the VA checkbox prior ripping. This is something that would also fail when running only EAC.<br />
<br />
On new VA albums not detected by freedb, please use "Various" (without quotes) as the artist value if you're going to submit the new data to freedb'''(***)'''. You can't check the VA checkbox with mouse in this case, but you can press TAB or ENTER after inputting the "Various" and the VA checkbox is checked.<br />
<br />
'''(*)''' "Safe" INI VA setting values: "VA", "Various", "Various Artists" (without quotes) (basically anything starting with "v", "va", "var",..., "various").<br />
<br />
'''(**)''' In track mode and when creating at least one cuesheet with INI "CreateCuesheet" setting (not required) in image mode. The image rip will still be OK even if EAC doesn't automatically check the VA checkbox.<br />
<br />
'''(***)''' Rules for submitting CDs to freedb: http://www.freedb.org/en/faq.3.html#22<br />
<br />
'''(****)''' The decision why to do it like this is that, this way the image filename obeys the INI VA setting value (previously it was "Various" no matter what the INI VA setting contained), and cuesheets & EAC logfile has the INI VA setting value as the CD artist/performer value. I think it's a good trade-off, one missing checkbox in image mode (when no additional cuesheets) vs. proper INI VA values in various ;) files.<br />
<br />
=====Windows Vista=====<br />
Vista is currently not fully supported because of the restricted user rights. Vista users should make sure that the user account they are logged in has read+write permissions for the following folders:<br />
* REACT folder<br />
* "Use this directory" path setting in EAC (default set by REACT: user "My Music" folder)<br />
* INI "OutRoot" folder (default setting: user "My Music\EAC" folder)<br />
<br />
=====EAC Compression Queue=====<br />
REACT doesn't support the Compression Queue feature of EAC.<br />
<br />
<br />
====New tokens / variables====<br />
@reactversion@ = Version information, e.g. REACT v2.0.akku.b03.<br />
<br />
<br />
====New INI options====<br />
<br />
=====[Settings] CreateCuesheet=====<br />
This option replaced the old "CreateAllCuesheets" option!<br />
<br />
Cuesheets are not created if this option is left empty (default). Except when ripping into tracks, the "glean cuesheet" (REACT.cue) is still created temporarily because it's needed to determine the correct "number of tracks" when ripping a CD with DATA track (enhanced CD).<br />
<br />
When ripping into tracks and at least one cuesheet is selected, the "glean cuesheet" (REACT.cue) is created (copied) from the first created cuesheet. This avoids the need to run another cuesheet generation from EAC and thus speeds up the process (especially when retrieving UPC/ISRC codes in cuesheet generation).<br />
<br />
Cuesheets:<br />
* s = Single WAV File<br />
* mg = Multiple WAV Files With Gaps (Noncompliant)<br />
* m = Multiple WAV Files With Left Out Gaps<br />
* mc = Multiple WAV Files With Corrected Gaps<br />
<br />
Examples:<br />
;CreateCuesheet=<br />
: No cuesheets.<br />
;CreateCuesheet=mg<br />
: Create one cuesheet.<br />
;CreateCuesheet=m|mg|s<br />
: Create multiple cuesheets (order is irrelevant).<br />
<br />
The pipe ( | ) character is used as the separator when creating multiple cuesheets. Do not use separators at the beginning or at the end of the value!<br />
<br />
Read this guide http://wiki.hydrogenaudio.org/index.php?title=EAC_and_Cue_Sheets and this http://wiki.hydrogenaudio.org/index.php?title=EAC_Gap_Settings if you're not sure which cuesheet to select. Most probably it's the "mg" (Multiple WAV Files With Gaps (Noncompliant)).<br />
<br />
=====[Settings] CoverDownloaderLocalPath=====<br />
If RunCoverDownloader is set, and you set this to the path of your existing artwork, REACT will check for the existence of a file before opening AlbumArt.exe. If a file exists it will copy that file to the working directory, renaming it "<album>.jpg" (as REACT expects artwork to be called) and AlbumArt.exe will not be opened. If the path is not set, or a file does not exist, AlbumArt.exe will open as normal. You can use $artist$, $album$ and $year$ tokens in the path, e.g.:<br />
<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\[$year$] $album$\folder.jpg<br />
<br />
CoverDownloaderLocalPath is also used to specify Album Art Downloader XUI's /localImagesPath switch, if it does not match a local file. You will need to set CoverDownloaderXUI=1 to use this feature. Note: $artist$ and $album$ are correctly converted to XUI's %artist% and %album% syntax. The $year$ token is not supported when using this feature.<br />
<br />
Therefore, if you do not want to direct REACT to a specific file, you may want to use Album Art Downloader XUI's wildcard support (see explanation below) to specify a more general local search, e.g.:<br />
<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\**\*.jpg<br />
<br />
This will open Album Art Downloader XUI, using any JPEG in "C:\Documents and Settings\My Name\My Documents\My Music" and its subfolders as a potential source.<br />
<br />
Another example:<br />
<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\**\*.jpg<br />
<br />
Album Art Downloader XUI's wildcard support for /localImagesPath:<br />
{| border="0" cellpadding="2" cellspacing="3"<br />
|-valign="top"<br />
| * || Wildcard, matches any characters<br />
|-valign="top"<br />
| \**\ || Subfolder search. Any folders will match<br />
at this point in the path. For example<br />
"\Art\Unsorted\**\*.jpg" will match:<br />
\Art\Unsorted\image.jpg<br />
\Art\Unsorted\misc\image.jpg<br />
\Art\Unsorted\misc\old\image.jpg<br />
<br />
"\Art\Unsorted\*\*.jpg" will match only:<br />
\Art\Unsorted\misc\image.jpg<br />
|}<br />
<br />
=====[Settings] OpenAddMetaDataDiag=====<br />
If set to 1, the Additional Meta Data dialog is opened in position relative to the bottom right corner of the EAC window at REACT startup. Except when the EAC window is placed out of desktop borders. In this case the dialog is centered (default behavior when opening the dialog manually by Alt-F5).<br />
<br />
=====[UserSettings] DebugMode=====<br />
Setting this to 1 will create a debugging.txt file in the REACT folder. This file could help you report bugs in REACT. This setting is not related to the "Debug" setting and it will not affect the batch file.<br />
<br />
<br />
====Tools====<br />
List of updated tools in akku.b04.<br />
<br />
{| border="0" style="text-align:left" width="250"<br />
! Tool !! Version<br />
|-<br />
| flac.exe || 1.2.1b<br />
|-<br />
| metaflac.exe || 1.2.1b<br />
|-<br />
| lame.exe || 3.98.2<br />
|-<br />
| metamp3.exe || 0.92 beta 5<br />
|}<br />
<br />
<br />
===Contact===<br />
Comments, questions, bug reports, etc., please contact [http://www.hydrogenaudio.org/forums/index.php?showuser=48750 Akkurat] in Hydrogenaudio Forums.<br />
<br />
Or write to [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 Released] thread.<br />
<br />
<br />
===Changelog===<br />
'''2.0.akku.b04''' (7th June 2009)<br />
* Changed files: REACT.exe, REACT.ini, REACT-image.cfg & REACT-track.cfg.<br />
* Added files - Tools: flac.exe, lame.exe, metaflac.exe & metamp3.exe.<br />
<br />
<br />
* Fixed REACT to work with the changed EAC 0.99pb5 command line switches.<br />
* Fixed a bug with image filenames saved sometimes incorrectly (again for the 3rd time!) in Windows Vista. The method was changed and the procedure is slightly slower now; filename will appear "one letter at a time" to the save dialog.<br />
* Fixed cuesheet generation again; the indices and gaps detection windows were detected in wrong order. This made REACT error with CD's that had lots of track indices.<br />
* Fixed left behind glean cuesheet file not deleted in track mode when creating normal cuesheet(s) with the INI setting.<br />
* Fixed a tricky problem with EAC not using the changed "Use this directory" setting in image mode in certain situations. If you see REACT inserting drive+path+filename "one letter at a time" to the save dialog in image mode, don't fret, it's this fix at work.<br />
* Fixed bad file naming scheme settings not detected by REACT in certain situations.<br />
* Fixed a bug where long lasting and/or failing freedb query made REACT fail to "hook" to the EAC window.<br />
<br />
<br />
* Added "check for EAClog" to track config.<br />
* Changed the bat file delete command so that there is no quick flash of error message at the very end of both configs.<br />
* Changed Mp3 tagging switches for the updated MetaMP3 in both configs.<br />
* Added the fix for MetaMP3 "wildcard parse bug with filenames ending with any multiples of 2 consecutive period chars" to both configs.<br />
* Changed disc related tagging so that both "discname" and "discnumber"/"totaldiscs" tags are written if supplied. Changed also the way the folder structure is created when both are supplied; the "discname" is in parenthesis after the "discnumber": <path>\<discnumber> (<discname>).<br />
<br />
<br />
* REACT.ini<br />
** "Version" updated.<br />
** Changed default "UserTrackFormats" to "Flac" and "LameMP3".<br />
** "Opt_LameMP3" updated. Removed "--vbr-new" because it's default VBR routine with the updated LAME encoder.<br />
** "Ver_LameMP3" updated.<br />
** "Ver_Flac" updated.<br />
<br />
<br />
* Updated FLAC to 1.2.1b (flac.exe & metaflac.exe).<br />
* Updated LAME to 3.98.2 (lame.exe).<br />
* Updated MetaMP3 to 0.92 beta 5 (metamp3.exe).<br />
** Fixes a bug with zero-padded track numbers when using only "tracknumber" in tagging.<br />
** Updating to this version automatically fixes the "discname" tagging bug in REACT configs.<br />
<br />
<br />
* Changed REACT configuring (Ctrl-F2):<br />
** EAC "Use CD-Text information in CUE sheet generation" setting is set ON (needed with track encoding in image mode).<br />
** EAC "Create '.m3u' playlist on extraction" setting is set OFF.<br />
** EAC "Use various artist naming scheme" setting is always set ON.<br />
** EAC "On unknown CDs," and "automatically access online freedb database" settings are always set ON.<br />
** REACT now waits for the EAC process to close completely before configuring.<br />
*** Added splash window while closing the process because it could take some time.<br />
** REACT will now always restart after configuring.<br />
<br />
<br />
* Added EAC Compression Queue not supported text to the "Notes" section of the documentation.<br />
* Added "Tools" section to documentation. Lists all updated tools used in this mod.<br />
<br />
<br />
'''2.0.akku.b03''' (11th August 2008)<br />
* Changed feature: now it's possible to create only the cuesheet(s) user wants.<br />
* Removed "CreateAllCuesheets" option from the INI file! ("CreateCuesheet" option replaced this)<br />
* Added "CreateCuesheet" INI option. (read the "New INI options" section for how to use this new option)<br />
<br />
<br />
* Added new feature: opening the Additional Meta Data dialog at startup is now possible by setting "OpenAddMetaDataDiag" to 1 in the INI file.<br />
* Changed feature: Additional Meta Data dialog is opened in position relative to the bottom right corner of the EAC window if it's set to open at startup. (read the "New INI options" section for more information)<br />
* Changed the Additional Meta Data dialog column widths to avoid horizontal scrollbar when vertical scrollbar appears.<br />
<br />
<br />
* Changed the way REACT works with Various Artists albums (read the "Notes" section for more information).<br />
** Fixes the problems with "malformed" VA artist freedb data.<br />
** Image filename obeys the INI VA setting.<br />
** Cuesheets & EAC logfile has the INI VA setting value as the CD artist/performer value.<br />
* Changed the required active naming scheme start value from "%D" to "%D -". REACT will notify the user if the settings are not correct at the program launch.<br />
* Changed: REACT will notify the user if the "ImageNaming" value in INI doesn't begin with "$artist$ -" at the program launch or after closing the INI file opened by Alt-F2.<br />
* Changed the way the Additional Meta Data dialog is reinitialized (read the "Notes" section for more information).<br />
<br />
<br />
* Changed REACT.ini version. From now on, the INI and the program version will be synchronized (even if there's no update to the INI file).<br />
* Added previously not included "CoverDownloaderLocalPath" and "DebugMode" options to the INI file.<br />
* Fixed the previously undocumented "run Album Art Downloader" (Alt-F10) hotkey to be only active when EAC window has focus.<br />
<br />
<br />
* Added new token/variable: @reactversion@.<br />
* Changed "Comment" option in INI file to include the new @reactversion@ token.<br />
<br />
<br />
* Fixed cuesheet generation problems when "Retrieve UPC/ISRC code in CUE sheet generation" option is set in EAC.<br />
* Changed: "Use this directory" setting in EAC is mandatory and REACT will notify the user if it's not set at the program launch. Avoids/fixes the cuesheet generation problems when "Standard directory for extraction: Ask every time" option is set in EAC.<br />
* Changed: configuring REACT by Ctrl-F2 will now set the "Use this directory" setting in EAC and the user "My Music" directory is used as the destination folder.<br />
<br />
<br />
* Fixed a bug with image filenames saved sometimes incorrectly (again) in Windows Vista.<br />
* Changed: if the image filename set still fails, the user is notified about this and has an option to manually enter the correct filename or by pasting it from the clipboard.<br />
<br />
<br />
* Fixed EAClog cleanup. Only the left behind EAClog of current album is deleted.<br />
<br />
<br />
* Fixed a couple of problems when the INI file opened by Alt-F2 wasn't closed before ripping. REACT now notifies the user about this and the INI file (in Notepad) must be closed.<br />
<br />
<br />
* Fixed lost window focus when starting REACT.<br />
* Fixed lost window focus when changing the CD Artist or CD Title fields.<br />
* Fixed couple of REACT info not visible in EAC window title problems.<br />
<br />
<br />
* Updated AutoIt from v3.2.8.1 to v3.2.12.1 and changed REACT to work with the new version. There were some fixes, among others, to AutoIt in Vista, so hopefully this update improves REACT functionality in Vista.<br />
<br />
<br />
* Fixed up a bit the "DebugMode" logging mess to debugging.txt when multithreading in tracks mode.<br />
<br />
<br />
'''2.0.akku.b02''' (10th May 2008, first public release)<br />
* Feature change: CoverDownloader starts now before cuesheet generation.<br />
<br />
<br />
'''2.0.akku.b01''' (7th February 2008)<br />
* Fixed a rare bug with image filenames saved sometimes incorrectly.<br />
* Changed the cuesheet creation once more to fix couple of rare bugs.<br />
* Changed REACT-track.cfg to show DOS prompt output correctly when Debug=1 set.<br />
* Fixed left behind EAClog cleanup failure when using EAC 0.99 versions.<br />
<br />
<br />
===Download===<br />
Latest version direct download: [http://www.hydrogenaudio.org/forums/index.php?act=attach&type=post&id=5140 REACT_2.0.akku.b04.zip]<br />
<br />
Older versions (and file hashes) are available from [http://www.hydrogenaudio.org/forums/index.php?showtopic=63179 Akkurat's REACT mod] thread in Hydrogenaudio Forums.<br />
<br />
==Synthetic Soul's Mod==<br />
<br />
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]<br />
<br />
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].<br />
<br />
===Key Points===<br />
<br />
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.<br />
* Track-level tokens supported.<br />
* Additional meta data added to cuesheets, as REM statements.<br />
* Fixes issue in REACT with '%' in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=494794 post] ).<br />
* Fixes issue in REACT with '&' in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495493 post] ).<br />
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.<br />
* Will only rewrite INI file on major or minor version change, not a new build.<br />
* Use Test & Copy by adding <code>Test=1</code> under the Settings section of REACT.ini.<br />
<br />
<br />
===Description===<br />
<br />
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs. This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).<br />
<br />
The dialogue is opened using '''Alt+F5'''. The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also. If you close the dialogue it is simply hidden from view, so your list items will stay intact. Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.<br />
<br />
The current list state is recorded in a new file called "meta.ini" in your REACT folder. The values in this INI are eventually used to replace tokens with values when your config runs. The INI is updated any time that you update or delete an item.<br />
<br />
====Setting Defaults====<br />
<br />
Default tokens and their values can be set in the REACT.ini file, under the newly created '''DefaultMetaData''' section. When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults. The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see '[[REACT:Mods#A Basic Alternative|A Basic Alternative]]').<br />
<br />
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of '1'. If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to '1' when a new disc is inserted. The article '[[REACT:Adding Support For Disc Information]]' details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.<br />
<br />
====Processing Tokens====<br />
<br />
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements. Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values. Track-level tokens are added beneath the appropriate TRACK statement. Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR's $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}. <br />
<br />
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@. These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.<br />
<br />
====Track-Level Tokens====<br />
<br />
Most tokens are album-related. If you want to set track-level tokens you should use the format '''<token name>[<track number>]''', e.g.: '''composer[1]''' to set the composer token value for track one. Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.<br />
<br />
====Using The Tokens====<br />
<br />
You can use both @ and $-style tokens in your config. When using $ tokens any integer value will be zero-padded ("4" -> "04") and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement. Therefore, if you create a token called '''discname''' you can use @discname@ when tagging, and $discname$ when creating a file or folder name. <br />
<br />
<br />
===A Basic Alternative===<br />
If you want to use additional tokens in your config but do not want to use this mod you ''can'' add additional variables to the existing '''UserTrackFormats''', '''UserOutputNames''', and, ''more pertinently'', '''UserSettings''' sections of REACT.ini. You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.<br />
<br />
<br />
===Changelog===<br />
2.0.ssb5, 03/05/07<br />
* First public release.<br />
<br />
2.0.ssb6, 04/05/07<br />
* Additional Meta Data dialogue made child of EAC window.<br />
* Changed function prefix from fGUI to fDiag to save confusion.<br />
<br />
2.0.ssb8, 14/05/07<br />
* Moved default values into REACT.ini.<br />
* Fixed the code that writes track-level meta data to the cuesheet.<br />
* Current token values now stored in "meta.ini", not "metadata.ini".<br />
* Moved a little more code from the main source file into the include.<br />
<br />
2.0.ssb9, 14/05/07<br />
* Track cuesheets now supported.<br />
<br />
2.0.ssb10, 30/05/07<br />
* Added underscore prefix to identify temporary tokens.<br />
* Fixed REACT issue with "%" in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=494794 post] )<br />
* Fixed REACT issue with "&" in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495493 post] )<br />
<br />
2.0.ssb11, 01/07/07<br />
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=501821 post] )<br />
* Will only rewrite INI file on major or minor version change, not a new build.<br />
<br />
2.0.ssb12, 02/07/07<br />
* Log file handling now works correctly for track ripping.<br />
<br />
2.0.ssb13, 04/07/07<br />
* Reverted cover filename to "<album>.jpg" irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=502330 post] )<br />
<br />
2.0.ssb15, 17/07/07<br />
* Reverted @albumfile@ to "<sourcedir>\<album>", irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=505038 post] )<br />
* Add <code>Test=1</code> under the Settings section of REACT.ini to use Test and Copy mode.<br />
<br />
2.0.ssb16, 29/07/07<br />
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.<br />
* Fixed bug with @ and $ values. @totaldiscs@ will now correctly return "3", while $totaldiscs$ will return "03".<br />
<br />
2.0.ssb16b, 15/08/07<br />
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=510414 post] ).<br />
<br />
2.0.ssb16c, 21/08/07<br />
* Add <code>CoverDownloaderXUI=1</CODE> to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=511640 post] ).<br />
<br />
2.0.ssb16d, 21/08/07<br />
* Added BMP support to above.<br />
<br />
2.0.ssb16e, 23/08/07<br />
* Fixed bug with above, where the artist and album did not change with the disc.<br />
<br />
2.0.ssb16f, 11/09/07<br />
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=512481 post] ).<br />
<br />
2.0.ssb16g, 17/09/07<br />
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter. This will treat the files as if they had just been created by EAC as per normal execution.<br />
<br />
2.0.ssb16h, 17/09/07<br />
* Set <code>CoverDownloaderLocalPath</code>, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader. You may use $artist$ and $album$ tokens in the path, e.g.:<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg<br />
<br />
2.0.ssb16i, 12/11/07<br />
* Fixed a bug with <code>CreateAllCuesheets</code> when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529370 post] ).<br />
* Reinstated <code>TracksHotVal</code>, after unwittingly removing the functionality.<br />
<br />
2.0.ssb16j, 14/11/07<br />
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529854 post] ).<br />
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529854 post] ).<br />
<br />
2.0.ssb16k, 16/11/07<br />
* Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=530101 post] ).<br />
* UserOutputNames INI section no longer escaped, so you can again use Window's tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=530166 post] ).<br />
* REACT now checks that EAC is the active window before sending the commands to create the four cuesheets. <br />
<br />
2.0.ssb16l, 19/11/07<br />
* Log file name in track mode now, finally, calculated correctly.<br />
* The <code>RunCoverDownloader</code> values as documented in [[REACT|the wiki page]] should now work as expected.<br />
<br />
2.0.ssb16m, 28/11/07<br />
* The number of tracks to process is now calculated from a cuesheet in track mode.<br />
* Expanded CreateAllCuesheets code to notify the user if a problem occurs.<br />
<br />
2.0.ssb16n, 30/11/07<br />
* Added Akkurat's improvements to the CreateAllCuesheets processing.<br />
* Added nago's multi-thread amendments.<br />
* Updated configs and INI are now included in the download.<br />
<br />
2.0.ssb16o, 29/01/08<br />
* Fixed a bug regarding track-level tokens with double-digit track numbers.<br />
<br />
2.0.ssb16p, 02/02/08<br />
* Fixed a bug with backslashes in additional meta data not being written to cuesheets.<br />
* Double quotes in additional meta data are now converted to apostrophes when written to the batch file.<br />
<br />
===Download===<br />
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16p.zip REACT 2.0.ssb16p]<br />
<br />
[[Category:REACT|Mods]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACTREACT2009-01-17T00:55:09Z<p>Akkurat: Added "REACT is designed for whole album ripping" notice.</p>
<hr />
<div>REACT ('''R'''un '''EAC''' '''T'''asks) can be used in conjunction with [[Exact Audio Copy]] (EAC), as an external compressor.<br />
<br />
It is, however, not an encoder, but an interim application that provides a scripting facility to call multiple 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. '''In short''', REACT allows you to run multiple tasks on the audio extracted, instead of only one.<br />
<br />
'''REACT is designed to work only with whole album extraction/ripping.'''<br />
<br />
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.<br />
<br />
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 '''@artist@''' in the script will be replaced by the [[freedb]] artist name, while '''$artist$''' will be replaced with a ''filename-friendly'' version of the artist name (with illegal characters replaced according to your requirements).<br />
<br />
'''From REACT v2.0 Final, most configuration can be done by editing the INI file only'''. Only advanced users should edit the .cfg files.<br />
<br />
REACT v2.0 as published does not currently work with EAC 0.99 prebeta 1-4 due to a naming scheme mismatch between old and new EAC versions. This has been solved in [[REACT:Mods#Synthetic_Soul.27s_Mod|Synthetic Soul's Mod]] or [[REACT:Mods#Akkurat.27s_Mod|Akkurat's Mod]] of REACT. The mods have also fixed a number of known bugs and introduced new features. Before using a mod, install the original REACT 2.0 (download links at the bottom of this page).<br />
<br />
==Hotkeys==<br />
<br />
REACT adds a few useful hotkeys to EAC:<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Key || Function<br />
|-<br />
| F1 || Wiki page for EAC.<br />
|-<br />
| Alt-F1 || Wiki page for REACT (this page).<br />
|-<br />
| Ctrl-F2 || Configure EAC to be used with REACT.<br />
|-<br />
| Alt-F2 || Edit REACT.ini in notepad.<br />
|-<br />
| Alt-F3 || Edit REACT-image.cfg in notepad.<br />
|-<br />
| 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 & Copy instead of Copy only. If the INI key CreateAllCuesheets=1, all four cuesheet types are saved as different files as well.<br />
|-<br />
| F10 || Shortcut to menu "Action - Copy Image and Save CUE Sheet - Compressed...". 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.<br />
|-<br />
|}<br />
<br />
==Configuration Files==<br />
<br />
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:<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| File || Description<br />
|-<br />
| REACT.ini || Regular INI file with key=values pairs. Defines variables used by the CFG files.<br />
|-<br />
| REACT-tracks.cfg || - Used for "Copy Selected Tracks Compressed", default shortcut : F4<br />
|-<br />
| REACT-image.cfg || - Used for "Copy Image & Create CUE Sheet Compressed", default shortcut : F10<br />
|-<br />
|}<br />
<br />
==The REACT.INI File==<br />
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.<br />
<br />
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.<br />
<br />
===Settings Section===<br />
<br />
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:<br />
<pre><br />
[Settings]<br />
Version=2.0<br />
ImageExt=flac<br />
ImageNaming=$artist$ - [$year$] $album$<br />
ImageHotKey={F10}<br />
TracksHotKey={F4}<br />
TracksHotVal=+{F5}<br />
VA=Various Artists<br />
CreateAllCuesheets=0<br />
RunCoverDownloader=1<br />
CoverDownloader=C:\Program Files\REACT2\coverdownloader\albumart.exe<br />
EAC=C:\Program Files\Exact Audio Copy\EAC.exe<br />
MinimizeCompressionWindow=1<br />
ProcessPriority=1<br />
Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|'|#|[|]<br />
</pre><br />
<br />
Some of the keys are obvious, and some you really don't need to bother with unless you are a REACT Ninja, but here's a few to watch out for:<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| 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.<br />
|-<br />
| 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's textboxes, and therefore do not strictly relate to the extended variables available within your config.<br />'''Please note:''' Your scheme ''must'' begin "$artist$ -" in order for Various Artists discs to be recognised properly.<br />
|-<br />
| VA || Default set to 'Various Artists'. The variable @va@ holds this string. See @cdartist@ below for further details.<br />
|-<br />
| 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.<br />
|-<br />
| 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.<br />
|-<br />
| 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).<br />
|}<br />
<br />
===UserTrackFormat Section===<br />
This section enables/disables output audio formats to be created.<br />
<br />
===UserOutputNames Section===<br />
Here the track names and the output paths are defined for the different output audio formats.<br />
OutRoot is the common directory used under many file naming schemes. Individual directories and naming schemes for each format are set with respective ImageDir_Flac, TrackDir_AAC, etc. When saving formats to different drives OutRoot must be replaced with address spelled out. <br><br />
Different naming schemes are available for Various Artist CDs. see variable options under METADATA<br><br />
TrackName_NA - file naming for single artist <br><br />
TrackName_VA - file naming for various artist<br><br />
TrackName_SA_acdir=$n - $~t - ACDIR is used when ripping an image and splitting it into tracks. It will be passing [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=35158&view=findpost&p=327260 EAC variables] directly through. The tilde [http://nyaochi.sakura.ne.jp/xoops/modules/mysoftwares/tc_2.html replaces illegal filename characters with a space].<br><br />
File naming schemes are largely up to personal usage and preference but some examples are<br><br />
[http://www.teqnilogik.com/tutorials/eac.htm#SettingEACOptions example 1]<br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=956 example 2]<br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=47558 example 3]<br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=31698 example 4]<br />
<br />
===UserSettings Section===<br />
Set various variables for more detailed configuration.<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| 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. <br />
|-<br />
| Comment || Override the default @comment@ variable (taken from EAC)<br />
|-<br />
| EmbedCover || Select if you want your cover pictures embeded into the audio files, or only copied to the target directory as 'folder.jpg'.<br />
|-<br />
| ReplayGain || Enable/Disable ReplayGain calculation and tagging.<br />
|-<br />
| ApplyAlbumGain || Apply the album gain to the files, so they are played back with a consistent volume across the albums on every player.<br />
|-<br />
| AdjustAlbumGain_dB || If you want to adjust the album gain from 89.0 dB when applying to the audio, set adjustment in dB here.<br />
|-<br />
| AddCuesheetAG || Add Album gain/Album peak values to the cuesheet as REM lines. This implies that WaveGain is ran.<br />
|-<br />
| 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.<br />
|-<br />
| Opt_... || Variables that defines options for each encoder used.<br />
|-<br />
| Ver_... || Variables that defines the version number for each encoder used.<br />
|}<br />
<br />
==Editing the CFG files (advanced)==<br />
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):<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| '''PATHS AND FILES''' || <br />
|-<br />
| @reactdir@ || The path to the directory in which REACT resides<br />
|-<br />
| @tools@ || The path to the directory in which the encoders reside. Set within the INI file<br />
|-<br />
| @mymusic@ || The path to your 'My Music' folder<br />
|-<br />
| @sourcedir@ || The path to the folder in which the copied source files are located ([[WAV]]/LOG/CUE)<br />
|-<br />
| @basename@ || The name of the file being created, excluding folders and extension <br />
|-<br />
| @source@ || The path to the temporary source [[WAV|WAVE]] file<br />
|-<br />
| @image@ || The path to the final image file, when used in '''Copy Image''' mode<br />
|-<br />
| @imageext@ || The extension of the compressed target image, e.g. flac<br />
|-<br />
| @sourcecuesheet@ || The path to the (temporary) source [[Cuesheet|cuesheet]], when used in '''Copy Image''' mode<br />
|-<br />
| @cuesheet@ || The path to the final [[Cuesheet|cuesheet]], when used in '''Copy Image''' mode<br />
|-<br />
| @eaclog@ || The path to the log file created by [[Exact Audio Copy|EAC]]<br />
|-<br />
| @cover@ || The path to the cover/album art picture file, dowloaded with CoverDownloader.<br />
|-<br />
| @albumfile@ || The base path to the cuesheet files without extension, created when CreateAllCuesheets=1 in the INI file. E.g, "@albumfile@.[mg].cue" is the multiple wav files cuesheet with gaps. <br />
|-<br />
| || <br />
|-<br />
| '''METADATA''' || <br />
|-<br />
| @cdartist@ || The name of the CD artist. If @various@=1 @cdartist@ equals the variable @va@, otherwise @artist@. Use $cdartist$ in file paths<br />
|-<br />
| @artist@ || The name of the track artist. Use $artist$ in paths<br />
|-<br />
| @album@ || The name of the album. Use $album$ in paths<br />
|-<br />
| @title@ || The song title. Use $title$ in paths<br />
|-<br />
| @track@ || The track number. Use $track$ to zero-pad the track number, i.e.: turn 9 into 09 <br />
|-<br />
| @numtracks@ || The total number of tracks. Use $numtracks$ to zero-pad the number<br />
|-<br />
| @genre@ || The album genre. Use $genre$ in paths<br />
|-<br />
| @year@ || The album year<br />
|-<br />
| @comment@ || The comment. Use $comment$ in paths<br />
|-<br />
| @freedbid@ || The [[freedb]] ID<br />
|-<br />
| || <br />
|-<br />
| '''OTHER''' || <br />
|-<br />
| @various@ || Is 1 if the EAC 'Various' checkbox was checked. Otherwise 0<br />
|-<br />
| @va@ || The name of VariousArtist. Default 'Various Artists'.<br />
|-<br />
| @crc@ || The [[CRC]] of the file<br />
|-<br />
| @bitrate@ || The value of the '''Bitrate''' dropdown on EAC's External Compressor dialogue<br />
|-<br />
| @curdate@ || The current date<br />
|}<br />
<br />
<br />
==Links==<br />
<br />
Ask REACT questions in this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=50273<br />
<br />
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=50259<br />
<br />
Download [[User:Synthetic Soul|Synthetic Soul's]] or [http://www.hydrogenaudio.org/forums/index.php?showuser=48750 Akkurat's] mod (for EAC 0.99 support and more) from this page : [[REACT:Mods]]<br />
<br />
[[Category:REACT]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:Creating_A_PlaylistREACT:Creating A Playlist2009-01-15T17:52:15Z<p>Akkurat: Changed $artist$ to $cdartist$ in the REN commands</p>
<hr />
<div>Please see [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=462691 this post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=462792 this post].<br />
<br />
Expanding upon the second link, you can generate an M3U list in your target directory by including lines similar to this:<br />
<br />
<pre>@tools@\Tag.exe --playlist --sort track --a-artist "@cdartist@" --a-title "@album@" --plname temp.m3u *.flac<br />
REM ** Workaround for %-chars disappearing from the playlist filename when using tag.exe.<br />
REN temp.m3u "$cdartist$ - $album$.m3u"</pre><br />
<br />
Though of course you'll need Tag.exe. [http://synthetic-soul.co.uk/tag]. Replace "flac" with the appropriate format where necessary. Put these lines in the post-processing section of tracks.cfg (where it may copy the log and where it applies the album gain).<br />
<br />
<br />
For AAC tracks, you may have to use different lines:<br />
<br />
<pre>@tools@\Tag.exe --playlist --nocheck --a-artist "@cdartist@" --a-title "@album@" --plname temp.m3u *.m4a<br />
REM ** Workaround for %-chars disappearing from the playlist filename when using tag.exe.<br />
REN temp.m3u "$cdartist$ - $album$.m3u"</pre><br />
<br />
We use the addition of "--nocheck" to force a playlist without extended information, since the latest TAG original will not read m4a tracks.<br />
<br />
[[Category:REACT|Creating A Playlist]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACTREACT2008-12-24T23:35:55Z<p>Akkurat: Fixed the wording in "REACT & mods EAC 0.99 version support" sentence.</p>
<hr />
<div>REACT ('''R'''un '''EAC''' '''T'''asks) can be used in conjunction with [[Exact Audio Copy]] (EAC), as an external compressor.<br />
<br />
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. '''In short''', REACT allows you to run multiple tasks on the audio extracted, instead of only one.<br />
<br />
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.<br />
<br />
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 '''@artist@''' in the script will be replaced by the [[freedb]] artist name, while '''$artist$''' will be replaced with a ''filename-friendly'' version of the artist name (with illegal characters replaced according to your requirements).<br />
<br />
'''From REACT v2.0 Final, most configuration can be done by editing the INI file only'''. Only advanced users should edit the .cfg files.<br />
<br />
REACT v2.0 as published does not currently work with EAC 0.99 prebeta 1-4 due to a naming scheme mismatch between old and new EAC versions. This has been solved in [[REACT:Mods#Synthetic_Soul.27s_Mod|Synthetic Soul's Mod]] or [[REACT:Mods#Akkurat.27s_Mod|Akkurat's Mod]] of REACT. The mods have also fixed a number of known bugs and introduced new features. Before using a mod, install the original REACT 2.0 (download links at the bottom of this page).<br />
<br />
==Hotkeys==<br />
<br />
REACT adds a few useful hotkeys to EAC:<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Key || Function<br />
|-<br />
| F1 || Wiki page for EAC.<br />
|-<br />
| Alt-F1 || Wiki page for REACT (this page).<br />
|-<br />
| Ctrl-F2 || Configure EAC to be used with REACT.<br />
|-<br />
| Alt-F2 || Edit REACT.ini in notepad.<br />
|-<br />
| Alt-F3 || Edit REACT-image.cfg in notepad.<br />
|-<br />
| 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 & Copy instead of Copy only. If the INI key CreateAllCuesheets=1, all four cuesheet types are saved as different files as well.<br />
|-<br />
| F10 || Shortcut to menu "Action - Copy Image and Save CUE Sheet - Compressed...". 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.<br />
|-<br />
|}<br />
<br />
==Configuration Files==<br />
<br />
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:<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| File || Description<br />
|-<br />
| REACT.ini || Regular INI file with key=values pairs. Defines variables used by the CFG files.<br />
|-<br />
| REACT-tracks.cfg || - Used for "Copy Selected Tracks Compressed", default shortcut : F4<br />
|-<br />
| REACT-image.cfg || - Used for "Copy Image & Create CUE Sheet Compressed", default shortcut : F10<br />
|-<br />
|}<br />
<br />
==The REACT.INI File==<br />
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.<br />
<br />
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.<br />
<br />
===Settings Section===<br />
<br />
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:<br />
<pre><br />
[Settings]<br />
Version=2.0<br />
ImageExt=flac<br />
ImageNaming=$artist$ - [$year$] $album$<br />
ImageHotKey={F10}<br />
TracksHotKey={F4}<br />
TracksHotVal=+{F5}<br />
VA=Various Artists<br />
CreateAllCuesheets=0<br />
RunCoverDownloader=1<br />
CoverDownloader=C:\Program Files\REACT2\coverdownloader\albumart.exe<br />
EAC=C:\Program Files\Exact Audio Copy\EAC.exe<br />
MinimizeCompressionWindow=1<br />
ProcessPriority=1<br />
Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|'|#|[|]<br />
</pre><br />
<br />
Some of the keys are obvious, and some you really don't need to bother with unless you are a REACT Ninja, but here's a few to watch out for:<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| 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.<br />
|-<br />
| 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's textboxes, and therefore do not strictly relate to the extended variables available within your config.<br />'''Please note:''' Your scheme ''must'' begin "$artist$ -" in order for Various Artists discs to be recognised properly.<br />
|-<br />
| VA || Default set to 'Various Artists'. The variable @va@ holds this string. See @cdartist@ below for further details.<br />
|-<br />
| 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.<br />
|-<br />
| 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.<br />
|-<br />
| 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).<br />
|}<br />
<br />
===UserTrackFormat Section===<br />
This section enables/disables output audio formats to be created.<br />
<br />
===UserOutputNames Section===<br />
Here the track names and the output paths are defined for the different output audio formats.<br />
OutRoot is the common directory used under many file naming schemes. Individual directories and naming schemes for each format are set with respective ImageDir_Flac, TrackDir_AAC, etc. When saving formats to different drives OutRoot must be replaced with address spelled out. <br><br />
Different naming schemes are available for Various Artist CDs. see variable options under METADATA<br><br />
TrackName_NA - file naming for single artist <br><br />
TrackName_VA - file naming for various artist<br><br />
TrackName_SA_acdir=$n - $~t - ACDIR is used when ripping an image and splitting it into tracks. It will be passing [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=35158&view=findpost&p=327260 EAC variables] directly through. The tilde [http://nyaochi.sakura.ne.jp/xoops/modules/mysoftwares/tc_2.html replaces illegal filename characters with a space].<br><br />
File naming schemes are largely up to personal usage and preference but some examples are<br><br />
[http://www.teqnilogik.com/tutorials/eac.htm#SettingEACOptions example 1]<br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=956 example 2]<br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=47558 example 3]<br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=31698 example 4]<br />
<br />
===UserSettings Section===<br />
Set various variables for more detailed configuration.<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| 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. <br />
|-<br />
| Comment || Override the default @comment@ variable (taken from EAC)<br />
|-<br />
| EmbedCover || Select if you want your cover pictures embeded into the audio files, or only copied to the target directory as 'folder.jpg'.<br />
|-<br />
| ReplayGain || Enable/Disable ReplayGain calculation and tagging.<br />
|-<br />
| ApplyAlbumGain || Apply the album gain to the files, so they are played back with a consistent volume across the albums on every player.<br />
|-<br />
| AdjustAlbumGain_dB || If you want to adjust the album gain from 89.0 dB when applying to the audio, set adjustment in dB here.<br />
|-<br />
| AddCuesheetAG || Add Album gain/Album peak values to the cuesheet as REM lines. This implies that WaveGain is ran.<br />
|-<br />
| 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.<br />
|-<br />
| Opt_... || Variables that defines options for each encoder used.<br />
|-<br />
| Ver_... || Variables that defines the version number for each encoder used.<br />
|}<br />
<br />
==Editing the CFG files (advanced)==<br />
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):<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| '''PATHS AND FILES''' || <br />
|-<br />
| @reactdir@ || The path to the directory in which REACT resides<br />
|-<br />
| @tools@ || The path to the directory in which the encoders reside. Set within the INI file<br />
|-<br />
| @mymusic@ || The path to your 'My Music' folder<br />
|-<br />
| @sourcedir@ || The path to the folder in which the copied source files are located ([[WAV]]/LOG/CUE)<br />
|-<br />
| @basename@ || The name of the file being created, excluding folders and extension <br />
|-<br />
| @source@ || The path to the temporary source [[WAV|WAVE]] file<br />
|-<br />
| @image@ || The path to the final image file, when used in '''Copy Image''' mode<br />
|-<br />
| @imageext@ || The extension of the compressed target image, e.g. flac<br />
|-<br />
| @sourcecuesheet@ || The path to the (temporary) source [[Cuesheet|cuesheet]], when used in '''Copy Image''' mode<br />
|-<br />
| @cuesheet@ || The path to the final [[Cuesheet|cuesheet]], when used in '''Copy Image''' mode<br />
|-<br />
| @eaclog@ || The path to the log file created by [[Exact Audio Copy|EAC]]<br />
|-<br />
| @cover@ || The path to the cover/album art picture file, dowloaded with CoverDownloader.<br />
|-<br />
| @albumfile@ || The base path to the cuesheet files without extension, created when CreateAllCuesheets=1 in the INI file. E.g, "@albumfile@.[mg].cue" is the multiple wav files cuesheet with gaps. <br />
|-<br />
| || <br />
|-<br />
| '''METADATA''' || <br />
|-<br />
| @cdartist@ || The name of the CD artist. If @various@=1 @cdartist@ equals the variable @va@, otherwise @artist@. Use $cdartist$ in file paths<br />
|-<br />
| @artist@ || The name of the track artist. Use $artist$ in paths<br />
|-<br />
| @album@ || The name of the album. Use $album$ in paths<br />
|-<br />
| @title@ || The song title. Use $title$ in paths<br />
|-<br />
| @track@ || The track number. Use $track$ to zero-pad the track number, i.e.: turn 9 into 09 <br />
|-<br />
| @numtracks@ || The total number of tracks. Use $numtracks$ to zero-pad the number<br />
|-<br />
| @genre@ || The album genre. Use $genre$ in paths<br />
|-<br />
| @year@ || The album year<br />
|-<br />
| @comment@ || The comment. Use $comment$ in paths<br />
|-<br />
| @freedbid@ || The [[freedb]] ID<br />
|-<br />
| || <br />
|-<br />
| '''OTHER''' || <br />
|-<br />
| @various@ || Is 1 if the EAC 'Various' checkbox was checked. Otherwise 0<br />
|-<br />
| @va@ || The name of VariousArtist. Default 'Various Artists'.<br />
|-<br />
| @crc@ || The [[CRC]] of the file<br />
|-<br />
| @bitrate@ || The value of the '''Bitrate''' dropdown on EAC's External Compressor dialogue<br />
|-<br />
| @curdate@ || The current date<br />
|}<br />
<br />
<br />
==Links==<br />
<br />
Ask REACT questions in this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=50273<br />
<br />
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=50259<br />
<br />
Download [[User:Synthetic Soul|Synthetic Soul's]] or [http://www.hydrogenaudio.org/forums/index.php?showuser=48750 Akkurat's] mod (for EAC 0.99 support and more) from this page : [[REACT:Mods]]<br />
<br />
[[Category:REACT]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:Amending_Cuesheet_File_ReferencesREACT:Amending Cuesheet File References2008-08-11T00:26:46Z<p>Akkurat: Corrected settings/texts for users with Akkurat's Mod 2.0.akku.b03 or higher version.</p>
<hr />
<div>When using [[REACT]] to rip to individual tracks you can request all cuesheets to be created (or just one with Akkurat's Mod 2.0.akku.b03), by specifying the following in REACT.ini:<br />
<br />
'''When using Akkurat's Mod 2.0.akku.b03 or higher version'''<br />
<pre>CreateCuesheet=mg</pre><br />
<br />
This will create the following file in the working directory:<br />
<br />
* '''"@albumfile@.[mg].cue"''' (Multiple WAVE files with gaps (non-compliant))<br />
<br />
<br />
'''otherwise use this setting'''<br />
<pre>CreateAllCuesheets=1</pre><br />
<br />
This will create the following files in the working directory:<br />
<br />
* '''"@albumfile@.[s].cue"''' (Single WAVE file)<br />
* '''"@albumfile@.[mg].cue"''' (Multiple WAVE files with gaps (non-compliant))<br />
* '''"@albumfile@.[m].cue"''' (Multiple WAVE files with gaps left out)<br />
* '''"@albumfile@.[mc].cue"''' (Multiple WAVE files with corrected gaps)<br />
<br />
<br />
The multi-file cuesheets will reference the tracks using the filename format set in [[EAC]], which should be "$cdartist$ - $album$ - $track$ - $title$" for standard albums, and specifying a ".wav" extension. However, this is unlikely to be the format that your track files are actually in, which means that the cuesheet will need to be amended in order to be useful.<br />
<br />
Below, you will find example code for two solutions, using two different tools. '''You are recommended to use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] for this purpose''', as certain special characters, e.g.: the ampersand, if used in your filenames, may cause problems when using [http://gnuwin32.sourceforge.net/packages/sed.htm SED].<br />
<br />
<br />
==Using GSAR==<br />
<br />
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files. This is achieved in the following way:<br />
<br />
# When the first track is processed the cuesheet will be copied to a new cuesheet file named "$cdartist$ - $album$.cue". A batch command, setting the correct codepage, is written to a temporary batch file called "update-cuesheet.bat".<br />
# Every time a track is processed, a GSAR command, to replace that track's filename, is written to the temporary batch file.<br />
# When the last track is processed, a GSAR command is executed to escape percent signs (%) in the temporary batch file.<br />
# The temporary batch file is executed, executing a GSAR command for each track.<br />
# The file "update-cuesheet.bat" is deleted.<br />
<br />
<br />
'''Creating the GSAR commands for each track'''<br />
<br />
The following lines need to be added to the code which is run for the format you are using for each track:<br />
<br />
<pre><br />
SET trackCueFile="$cdartist$ - $album$.cue"<br />
IF NOT EXIST %trackCueFile% (<br />
COPY "@albumfile@.[mg].cue" %trackCueFile%<br />
ECHO CHCP 1252 ^| PROMPT>>update-cuesheet.bat<br />
)<br />
ECHO @tools@\GSAR.EXE "-s@basename@.wav" "-r%TrackName%.wv" -o %trackCueFile%>>update-cuesheet.bat</pre><br />
<br />
Here it is in the WavPack section:<br />
<br />
<pre><br />
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks<br />
IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%<br />
PUSHD %TrackDir_Wavpack%<br />
IF @various@==1 SET VA_tag=-w "album artist=@VA@"<br />
ECHO ON<br />
@tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist="@artist@" -w album="@album@" -w track="@track@/@numtracks@" -w title="@title@" -w year="@year@" -w genre="@genre@" -w comment="@comment@" -w encodedby="%USERNAME%" -w encodersettings="Wavpack @Ver_Wavpack@ @Opt_Wavpack@" "@source@" "%TrackName%.wv"<br />
@ECHO OFF<br />
SET trackCueFile="$cdartist$ - $album$.cue"<br />
IF NOT EXIST %trackCueFile% (<br />
COPY "@albumfile@.[mg].cue" %trackCueFile%<br />
ECHO CHCP 1252 ^| PROMPT>>update-cuesheet.bat<br />
)<br />
ECHO @tools@\GSAR.EXE "-s@basename@.wav" "-r%TrackName%.wv" -o %trackCueFile%>>update-cuesheet.bat<br />
IF %have_cover%==1 IF NOT EXIST folder.jpg COPY "@cover@" folder.jpg<br />
TITLE @track@/@numtracks@ - "@album@"<br />
POPD<br />
:end_wavpack_tracks<br />
</pre><br />
<br />
Note that the extension ("wv") will need to be changed depending on the format that you are using. Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:<br />
<br />
<pre>ECHO @tools@\GSAR.EXE "-s@basename@.wav""" WAVE" "-r%TrackName%.mp3""" MP3" -o %trackCueFile%>>update-cuesheet.bat</pre><br />
<br />
Also, note that the example uses the "multiple WAVE files with gaps (non-compliant)" cuesheet as its source. This is the cuesheet that most users would require; however you can replace "@albumfile@.[mg].cue" with "@albumfile@.[m].cue" or "@albumfile@.[mc].cue" if you wish. '''NOTE!''' When using Akkurat's Mod 2.0.akku.b03 or higher version, if you change the '''[mg]''' used in the example to another cuesheet, you must change the '''CreateCuesheet=''' option to match your replacement.<br />
<br />
<br />
'''Executing the batch file'''<br />
<br />
The following lines need to be added to the code which is run for the format you are using at the end of the config:<br />
<br />
<pre><br />
@tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat<br />
CALL update-cuesheet.bat<br />
DEL update-cuesheet.bat<br />
</pre><br />
<br />
Here they are in the WavPack section:<br />
<br />
<pre><br />
IF @Wavpack@==1 (<br />
PUSHD %TrackDir_Wavpack%<br />
IF %add_rg%==1 @tools@\wvgain.exe -a *.wv<br />
REM COPY /Y "@eaclog@" "EAClog.txt"<br />
@tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat<br />
CALL update-cuesheet.bat<br />
DEL update-cuesheet.bat<br />
POPD<br />
)<br />
</pre><br />
<br />
These three lines are universal, and can be added to any format's section with no need for change.<br />
<br />
<br />
'''Requirements'''<br />
<br />
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], and put the executable in your [[REACT]] tools directory.<br />
<br />
<br />
===Using GSAR For Other Requirements===<br />
<br />
If you will be using GSAR for other string replacement in your config, you may need to ensure that two characters are escaped before creating your GSAR command line.<br />
<br />
If you are dealing solely with filenames, as in the section above, you do not need to worry: these are both illegal filename characters and therefore cannot possibly raise an issue.<br />
<br />
'''If you are not dealing solely in filenames''', you will need to ensure that any double quotes (") and colons (:) are escaped. Double quotes may be escaped by replacing one instance with three (" -> """) or by replacing it with the correct character code (" -> :034 (decimal) or " -> :x22 (hex)). Colons should be escaped by prefixing with another colon. (: -> ::)<br />
<br />
<br />
E.g.: If your string is as follows:<br />
<br />
A Test: using "both" characters<br />
<br />
... any of the lines below may be used in its place:<br />
<br />
A Test:: using """both""" characters<br />
A Test:: using :034both:034 characters<br />
A Test:: using :x22both:x22 characters<br />
<br />
<br />
Below is some example code to escape an existing batch file variable, "myVar", before passing it to GSAR:<br />
<br />
<pre><br />
SET myVar=%myVar::=::%<br />
SET myVar=%myVar:"=:x22%<br />
<br />
@tools@\GSAR.EXE "-sSome Existing Text" "-r%myVar%" -o myfile.txt<br />
</pre><br />
<br />
====Using GSAR to Escape Percent Signs Written to Batch Files====<br />
<br />
When using a percent sign in your config it must be escaped like so: %%. This ensures that it is not mistaken for the beginning of a batch file variable (e.g.: %myVar%).<br />
<br />
If your config needs to create and execute a batch file on the fly, as the example in [[REACT:Amending_Cuesheet_File_References#Using_GSAR|Using GSAR]] does, you will need to re-escape any percent signs, as the act of writing the batch file will unescape any written.<br />
<br />
<br />
You can use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], before executing your batch file, to ensure that all percent signs written to the file are properly escaped.<br />
<br />
GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat<br />
<br />
This command will escape all percent signs (% -> %%) in the file "update-cuesheet.bat". The -o switch tells GSAR to overwrite the file, rather than write the amended text to a new file.<br />
<br />
<br />
==Using SED==<br />
<br />
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/sed.htm SED] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files. This is achieved in the following way:<br />
<br />
# Every time a track is processed a SED command, to replace that track's filename, is written to a temporary text file called "sedlist.txt".<br />
# When the last track is processed this file is passed to SED which executes each command on the cuesheet text, and writes the new text to a new cuesheet file named "$cdartist$ - $album$.cue".<br />
# The file "sedlist.txt" is deleted.<br />
<br />
<br />
'''Writing the SED commands for each track'''<br />
<br />
The following line needs to be added to the code which is run for the format you are using for each track:<br />
<br />
<pre>ECHO s/FILE "@basename@\.wav"/FILE "%TrackName%\.wv"/>>sedlist.txt</pre><br />
<br />
Here it is in the WavPack section:<br />
<br />
<pre><br />
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks<br />
IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%<br />
PUSHD %TrackDir_Wavpack%<br />
IF @various@==1 SET VA_tag=-w "album artist=@VA@"<br />
ECHO ON<br />
@tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist="@artist@" -w album="@album@" -w track="@track@/@numtracks@" -w title="@title@" -w year="@year@" -w genre="@genre@" -w comment="@comment@" -w encodedby="%USERNAME%" -w encodersettings="Wavpack @Ver_Wavpack@ @Opt_Wavpack@" "@source@" "%TrackName%.wv"<br />
ECHO s/FILE "@basename@\.wav"/FILE "%TrackName%\.wv"/>>sedlist.txt<br />
@ECHO OFF<br />
IF %have_cover%==1 IF NOT EXIST folder.jpg COPY "@cover@" folder.jpg<br />
TITLE @track@/@numtracks@ - "@album@"<br />
POPD<br />
:end_wavpack_tracks<br />
</pre><br />
<br />
Note that the extension ("wv") will need to be changed depending on the format that you are using. Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:<br />
<br />
<pre>ECHO s/FILE "@basename@\.wav" WAVE/FILE "%TrackName%\.mp3" MP3/>>sedlist.txt</pre><br />
<br />
<br />
'''Executing SED'''<br />
<br />
The following lines need to be added to the code which is run for the format you are using at the end of the config:<br />
<br />
<pre><br />
@tools@\SED -f sedlist.txt <"@albumfile@.[mg].cue" >"$cdartist$ - $album$.cue"<br />
DEL sedlist.txt<br />
</pre><br />
<br />
Here they are in the WavPack section:<br />
<br />
<pre><br />
IF @Wavpack@==1 (<br />
PUSHD %TrackDir_Wavpack%<br />
IF %add_rg%==1 @tools@\wvgain.exe -a *.wv<br />
REM COPY /Y "@eaclog@" "EAClog.txt"<br />
@tools@\SED -f sedlist.txt <"@albumfile@.[mg].cue" >"$cdartist$ - $album$.cue"<br />
DEL sedlist.txt<br />
POPD<br />
)<br />
</pre><br />
<br />
These two lines are universal, and can be added to any format's section with no need for change. Note though, that the example uses the "multiple WAVE files with gaps (non-compliant)" cuesheet as its source. This is the cuesheet that most users would require; however you can replace "@albumfile@.[mg].cue" with "@albumfile@.[m].cue" or "@albumfile@.[mc].cue" if you wish. '''NOTE!''' When using Akkurat's Mod 2.0.akku.b03 or higher version, if you change the '''[mg]''' used in the example to another cuesheet, you must change the '''CreateCuesheet=''' option to match your replacement.<br />
<br />
'''Requirements'''<br />
<br />
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/sed.htm SED], including its dependencies ("libintl3.dll" and "libiconv2.dll"), and put all three files in your [[REACT]] tools directory.<br />
<br />
<br />
==Related Thread==<br />
This tip is a result of a string of posts between lipidicman and [[User:Synthetic Soul|Synthetic Soul]] in the [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 thread] beginning with [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=483839 this post].<br />
<br />
<br />
[[Category:REACT|Amending Cuesheet File References]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:Backup_DATA_TrackREACT:Backup DATA Track2008-08-11T00:06:08Z<p>Akkurat: Corrected a setting for 2.0.akku.b03 or higher version</p>
<hr />
<div>Here's a method to backup all the files from an enhanced cd when ripping albums with REACT.<br />
<br />
<br />
<br />
Note that EAC sometimes "locks" the CD drive in a way that it's impossible to access the CD in Windows Explorer or DOS and thus this method of backing up the data track will fail. This method will detect such a situation and will pause the encoding process with an error message. This hindrance can be avoided by inserting the CD ''before'' starting REACT.<br />
<br />
<br />
<br />
Brief explanation what the following code does:<br />
# Check from a cuefile if there's a data track present in the CD.<br />
# Test if CD is locked/not accessible and pause & stop backup on errors.<br />
# Get CD label from DIR command.<br />
# Create a subdir '''DATA TRACK (''<CD label>'')'''.<br />
# Copy all files (+hidden and system files) with attributes from the CD drive including empty subdirs and verify the new files.<br />
# Pause and print error message if there was an error in the copy process.<br />
<br />
<br />
<br />
Edit your '''REACT.ini''' file and make sure that the following two lines are set correctly.<br />
<br />
Under [Settings]:<br />
<br />
'''When using Akkurat's Mod 2.0.akku.b03 or higher version'''<br />
<pre>CreateCuesheet=mg</pre><br />
<br />
'''otherwise use this setting'''<br />
<pre>CreateAllCuesheets=1</pre><br />
<br />
<br />
Under [UserSettings]:<br />
<pre>CDDrive=D:</pre><br />
Change the drive letter to match your cd ripping drive.<br />
<br />
<br />
Copy the following code ''to the end'' of the '''REACT-image.cfg''' and/or '''REACT-track.cfg''' file(s) depending on which ripping methods you are using.<br />
<pre><br />
GOTO :EOF<br />
<br />
:BackupDataTrack<br />
<br />
REM ** Copy all files from the CD if there's a data track.<br />
SET DataExists=0<br />
<br />
IF NOT EXIST "@albumfile@.[mg].cue" GOTO :EOF<br />
FOR /F "tokens=* delims=" %%i IN ('FINDSTR /R "TRACK....MODE*" "@albumfile@.[mg].cue"') DO SET DataExists=1<br />
<br />
IF %DataExists%==0 GOTO :EOF<br />
ECHO. &ECHO ===== BACKING UP DATA FILES ===== &ECHO.<br />
<br />
REM ** Test if CD is locked/not accessible and pause & stop backup on errors.<br />
DIR @CDDrive@ >NUL<br />
IF ERRORLEVEL 1 ECHO. &ECHO ===== ERROR: CD LOCKED/NOT ACCESSIBLE ===== &ECHO. &PAUSE &GOTO :EOF<br />
<br />
REM ** Get CD label.<br />
FOR /F "tokens=5* delims= " %%a IN ('DIR @CDDrive@ ^| FIND /I "Volume in drive"') DO SET DataDir="DATA TRACK (%%b)"<br />
<br />
REM ** Make a subdir with CD label in parentheses.<br />
MKDIR %DataDir%<br />
<br />
REM ** Copy all files (+hidden and system files) with attributes from the CD drive including empty subdirs and verify the new files.<br />
XCOPY @CDDrive@\*.* %DataDir% /E /H /K /V<br />
<br />
REM ** Pause on XCOPY errors.<br />
IF ERRORLEVEL 1 ECHO. &ECHO ===== ERROR: COPY FAILED ===== &ECHO. &PAUSE<br />
<br />
ECHO.<br />
<br />
GOTO :EOF<br />
</pre><br />
<br />
<br />
<br />
Next you have to add the following code to the proper place in '''REACT-image.cfg''' and/or '''REACT-track.cfg''' file(s):<br />
<pre><br />
REM ** Call data track detection and backup routine<br />
CALL :BackupDataTrack<br />
</pre><br />
NOTE! This code '''must''' be placed between ''PUSHD <destination directory>'' and ''POPD'' lines! See the examples below for more information.<br />
<br />
<br />
<br />
Example 1. '''REACT-track.cfg''' (for Flac tracks, in post-processing section of the file):<br />
<pre><br />
IF @Flac@==1 (<br />
PUSHD %TrackDir_Flac%<br />
<br />
REM ** Call data track detection and backup routine<br />
CALL :BackupDataTrack<br />
<br />
IF %add_rg%==1 @tools@\Glob.exe -v -c @tools@\metaflac.exe %RG_MetaFlac% *.flac<br />
REM COPY /Y "@eaclog@" "EAClog.txt"<br />
POPD<br />
)<br />
</pre><br />
<br />
<br />
Example 2. '''REACT-image.cfg''' (for Flac '''tracks'''):<br />
<pre><br />
IF NOT @Flac@==1 GOTO end_flac_tracks<br />
SET dest="@TrackDir_Flac@%trackDir%"<br />
IF NOT EXIST %dest% MKDIR %dest%<br />
PUSHD %dest%<br />
<br />
REM ** Call data track detection and backup routine<br />
CALL :BackupDataTrack<br />
<br />
IF @various@==1 SET VA_tag=-T $qalbum artist=@VA@$q<br />
IF %embed_cover%==1 SET Cover_tag=--picture=$#x<br />
@tools@\acdir.exe --overwrite --output "%TrackName%.flac" --extra-opt "|image/jpeg|||@cover@" --pipe "TITLE $n/$N flac $#T & @tools@\flac.exe @Opt_Flac@ %Cover_tag% %VA_tag% %Disc_Flac_acdir% -T artist=$#a -T album=$#T -T title=$#t -T tracknumber=$n/$N -T date=$q@year@$q -T genre=$q@genre@$q -T comment=$q@comment@$q -T encoded-by=$q%USERNAME%$q -T encoding=$qFlac @Ver_Flac@ @Opt_Flac@$q - -o $#o" "@sourcecuesheet@"<br />
IF %add_rg%==1 @tools@\Glob.exe -v -c @tools@\metaflac.exe %RG_MetaFlac% *.flac<br />
COPY /Y "@eaclog@" "EAClog.txt"<br />
IF %have_cover%==1 COPY /Y "@cover@" "folder.jpg"<br />
IF EXIST "@albumfile@.[*].cue" COPY /Y "@albumfile@.[*].cue" .<br />
POPD<br />
:end_flac_tracks<br />
</pre><br />
<br />
<br />
Example 3. '''REACT-image.cfg''' (for Flac '''images'''):<br />
<pre><br />
IF NOT @ImageExt@==flac GOTO end_flac_image<br />
SET dest="@ImageDir_Flac@%imageDir%"<br />
IF NOT EXIST %dest% MKDIR %dest%<br />
<br />
REM ** Call data track detection and backup routine<br />
PUSHD %dest%<br />
CALL :BackupDataTrack<br />
POPD<br />
<br />
IF %embed_cover%==1 SET Cover_tag=--picture="|image/jpeg|||@cover@"<br />
@tools@\flac.exe @Opt_Flac@ %RG_Flac% %Cover_tag% %Disc_Flac% -T "%ArtistField%=@cdartist@" -T album="@album@" -T totaltracks="@numtracks@" -T date="@year@" -T genre="@genre@" -T comment="@comment@" -T encoded-by="%USERNAME%" -T encoding="Flac @Ver_Flac@ @Opt_Flac@" --tag-from-file="cuesheet=@cuesheet@" --tag-from-file="eaclog=@eaclog@" "@source@" -o "@image@"<br />
MOVE /Y "@image@" %dest%<br />
MOVE /Y "@cuesheet@" %dest%<br />
IF %have_cover%==1 COPY /Y "@cover@" %dest%\"@basename@.jpg"<br />
:end_flac_image<br />
</pre><br />
Note that here we had to add ''PUSHD %dest%'' and ''POPD'' lines so that the data track files are copied to the right directory. <br />
<br />
<br />
<br />
<br />
This method has been tested to work at least in English Windows XP.<br />
<br />
If you have any comments, questions, bug reports, etc., please contact [http://www.hydrogenaudio.org/forums/index.php?showuser=48750 Akkurat] in Hydrogenaudio Forums.<br />
<br />
<br />
[[Category:REACT|Backup DATA Track]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:ModsREACT:Mods2008-08-10T23:55:11Z<p>Akkurat: BIG update to Akkurat Mod, new version b03 release.</p>
<hr />
<div>==Akkurat's Mod==<br />
<br />
===Description===<br />
This mod continues from where the great Synthetic Soul's 2.0.ssb16p mod of REACT left. This mod is going to mainly fix bugs and problems. So, only "good" feature requests please. :) Thanks.<br />
<br />
Please read [http://wiki.hydrogenaudio.org/index.php?title=REACT:Mods#Synthetic_Soul.27s_Mod Synthetic Soul's Mod] if you want to know what changes Synthetic Soul brought to REACT with his mod.<br />
<br />
<br />
===Documentation===<br />
<br />
====Notes====<br />
<br />
=====EAC "Use this directory"=====<br />
Starting from 2.0.akku.b03 version, configuring REACT with Ctrl-F2 will always reset the "Use this directory" path setting in EAC to user "My Music" directory. This directory is only used to temporarily hold the EAC extracted files, it has no relation to the INI "OutRoot" directory setting where REACT puts your final encoded and other files. The "Use this directory" setting can be changed after configuring REACT.<br />
<br />
=====INI "ImageNaming" setting=====<br />
The value of this setting must begin with "$artist$ -" (without quotes) in order for Various Artists discs to be recognized properly in image mode.<br />
<br />
=====Cover Art Downloader / Album Art Downloader=====<br />
You can start the program by Alt-F10 when EAC window has focus. This feature was previously undocumented.<br />
<br />
=====Additional Meta Data dialog=====<br />
Starting from 2.0.akku.b03 version, the dialog is only reinitialized (values cleared) when:<br />
<br />
# REACT is launched.<br />
# CD drive (adapter) is changed from the EAC combobox.<br />
# CD is ejected or the "CD Artist" and "CD Title" fields are empty.<br />
<br />
Previously the dialog was reinitialized every time the "CD Artist" or "CD Title" values changed.<br />
<br />
=====Various Artists=====<br />
Starting from 2.0.akku.b03 version, the way REACT works with Various Artists albums has been changed. This change fixes the problems with "malformed" VA artist freedb data.<br />
<br />
REACT will uncheck the VA checkbox and enter the INI VA setting value to the artist field when starting a rip. The VA checkbox is NOT checked back by REACT'''(****)''' because EAC will detect the new artist value, if it's "safe"'''(*)''', as VA and will check it'''(**)''' by itself when a rip starts.<br />
<br />
In the very unlikely event that your CD artist is something like "Various Polarbears", "Variously", etc. (starts with "Various" value), but it's not a "Various Artists" CD, the rip will FAIL even if you uncheck the VA checkbox prior ripping. This is something that would also fail when running only EAC.<br />
<br />
On new VA albums not detected by freedb, please use "Various" (without quotes) as the artist value if you're going to submit the new data to freedb'''(***)'''. You can't check the VA checkbox with mouse in this case, but you can press TAB or ENTER after inputting the "Various" and the VA checkbox is checked.<br />
<br />
'''(*)''' "Safe" INI VA setting values: "VA", "Various", "Various Artists" (without quotes) (basically anything starting with "v", "va", "var",..., "various").<br />
<br />
'''(**)''' In track mode and when creating at least one cuesheet with INI "CreateCuesheet" setting (not required) in image mode. The image rip will still be OK even if EAC doesn't automatically check the VA checkbox.<br />
<br />
'''(***)''' Rules for submitting CDs to freedb: http://www.freedb.org/en/faq.3.html#22<br />
<br />
'''(****)''' The decision why to do it like this is that, this way the image filename obeys the INI VA setting value (previously it was "Various" no matter what the INI VA setting contained), and cuesheets & EAC logfile has the INI VA setting value as the CD artist/performer value. I think it's a good trade-off, one missing checkbox in image mode (when no additional cuesheets) vs. proper INI VA values in various ;) files.<br />
<br />
=====Windows Vista=====<br />
Vista is currently not fully supported because of the restricted user rights. Vista users should make sure that the user account they are logged in has read+write permissions for the following folders:<br />
* REACT folder<br />
* "Use this directory" path setting in EAC (default set by REACT: user "My Music" folder)<br />
* INI "OutRoot" folder (default setting: user "My Music\EAC" folder)<br />
<br />
<br />
====New tokens / variables====<br />
@reactversion@ = Version information, e.g. REACT v2.0.akku.b03.<br />
<br />
<br />
====New INI options====<br />
<br />
=====[Settings] CreateCuesheet=====<br />
This option replaced the old "CreateAllCuesheets" option!<br />
<br />
Cuesheets are not created if this option is left empty (default). Except when ripping into tracks, the "glean cuesheet" (REACT.cue) is still created temporarily because it's needed to determine the correct "number of tracks" when ripping a CD with DATA track (enhanced CD).<br />
<br />
When ripping into tracks and at least one cuesheet is selected, the "glean cuesheet" (REACT.cue) is created (copied) from the first created cuesheet. This avoids the need to run another cuesheet generation from EAC and thus speeds up the process (especially when retrieving UPC/ISRC codes in cuesheet generation).<br />
<br />
Cuesheets:<br />
* s = Single WAV File<br />
* mg = Multiple WAV Files With Gaps (Noncompliant)<br />
* m = Multiple WAV Files With Left Out Gaps<br />
* mc = Multiple WAV Files With Corrected Gaps<br />
<br />
Examples:<br />
;CreateCuesheet=<br />
: No cuesheets.<br />
;CreateCuesheet=mg<br />
: Create one cuesheet.<br />
;CreateCuesheet=m|mg|s<br />
: Create multiple cuesheets (order is irrelevant).<br />
<br />
The pipe ( | ) character is used as the separator when creating multiple cuesheets. Do not use separators at the beginning or at the end of the value!<br />
<br />
Read this guide http://wiki.hydrogenaudio.org/index.php?title=EAC_and_Cue_Sheets and this http://wiki.hydrogenaudio.org/index.php?title=EAC_Gap_Settings if you're not sure which cuesheet to select. Most probably it's the "mg" (Multiple WAV Files With Gaps (Noncompliant)).<br />
<br />
=====[Settings] CoverDownloaderLocalPath=====<br />
If RunCoverDownloader is set, and you set this to the path of your existing artwork, REACT will check for the existence of a file before opening AlbumArt.exe. If a file exists it will copy that file to the working directory, renaming it "<album>.jpg" (as REACT expects artwork to be called) and AlbumArt.exe will not be opened. If the path is not set, or a file does not exist, AlbumArt.exe will open as normal. You can use $artist$, $album$ and $year$ tokens in the path, e.g.:<br />
<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\[$year$] $album$\folder.jpg<br />
<br />
CoverDownloaderLocalPath is also used to specify Album Art Downloader XUI's /localImagesPath switch, if it does not match a local file. You will need to set CoverDownloaderXUI=1 to use this feature. Note: $artist$ and $album$ are correctly converted to XUI's %artist% and %album% syntax. The $year$ token is not supported when using this feature.<br />
<br />
Therefore, if you do not want to direct REACT to a specific file, you may want to use Album Art Downloader XUI's wildcard support (see explanation below) to specify a more general local search, e.g.:<br />
<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\**\*.jpg<br />
<br />
This will open Album Art Downloader XUI, using any JPEG in "C:\Documents and Settings\My Name\My Documents\My Music" and its subfolders as a potential source.<br />
<br />
Another example:<br />
<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\**\*.jpg<br />
<br />
Album Art Downloader XUI's wildcard support for /localImagesPath:<br />
{| border="0" cellpadding="2" cellspacing="3"<br />
|-valign="top"<br />
| * || Wildcard, matches any characters<br />
|-valign="top"<br />
| \**\ || Subfolder search. Any folders will match<br />
at this point in the path. For example<br />
"\Art\Unsorted\**\*.jpg" will match:<br />
\Art\Unsorted\image.jpg<br />
\Art\Unsorted\misc\image.jpg<br />
\Art\Unsorted\misc\old\image.jpg<br />
<br />
"\Art\Unsorted\*\*.jpg" will match only:<br />
\Art\Unsorted\misc\image.jpg<br />
|}<br />
<br />
=====[Settings] OpenAddMetaDataDiag=====<br />
If set to 1, the Additional Meta Data dialog is opened in position relative to the bottom right corner of the EAC window at REACT startup. Except when the EAC window is placed out of desktop borders. In this case the dialog is centered (default behavior when opening the dialog manually by Alt-F5).<br />
<br />
=====[UserSettings] DebugMode=====<br />
Setting this to 1 will create a debugging.txt file in the REACT folder. This file could help you report bugs in REACT. This setting is not related to the "Debug" setting and it will not affect the batch file.<br />
<br />
<br />
===Contact===<br />
Comments, questions, bug reports, etc., please contact [http://www.hydrogenaudio.org/forums/index.php?showuser=48750 Akkurat] in Hydrogenaudio Forums.<br />
<br />
Or write to [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 Released] thread.<br />
<br />
<br />
===Changelog===<br />
'''2.0.akku.b03''' (11th August 2008)<br />
* Changed feature: now it's possible to create only the cuesheet(s) user wants.<br />
* Removed "CreateAllCuesheets" option from the INI file! ("CreateCuesheet" option replaced this)<br />
* Added "CreateCuesheet" INI option. (read the "New INI options" section for how to use this new option)<br />
<br />
<br />
* Added new feature: opening the Additional Meta Data dialog at startup is now possible by setting "OpenAddMetaDataDiag" to 1 in the INI file.<br />
* Changed feature: Additional Meta Data dialog is opened in position relative to the bottom right corner of the EAC window if it's set to open at startup. (read the "New INI options" section for more information)<br />
* Changed the Additional Meta Data dialog column widths to avoid horizontal scrollbar when vertical scrollbar appears.<br />
<br />
<br />
* Changed the way REACT works with Various Artists albums (read the "Notes" section for more information).<br />
** Fixes the problems with "malformed" VA artist freedb data.<br />
** Image filename obeys the INI VA setting.<br />
** Cuesheets & EAC logfile has the INI VA setting value as the CD artist/performer value.<br />
* Changed the required active naming scheme start value from "%D" to "%D -". REACT will notify the user if the settings are not correct at the program launch.<br />
* Changed: REACT will notify the user if the "ImageNaming" value in INI doesn't begin with "$artist$ -" at the program launch or after closing the INI file opened by Alt-F2.<br />
* Changed the way the Additional Meta Data dialog is reinitialized (read the "Notes" section for more information).<br />
<br />
<br />
* Changed REACT.ini version. From now on, the INI and the program version will be synchronized (even if there's no update to the INI file).<br />
* Added previously not included "CoverDownloaderLocalPath" and "DebugMode" options to the INI file.<br />
* Fixed the previously undocumented "run Album Art Downloader" (Alt-F10) hotkey to be only active when EAC window has focus.<br />
<br />
<br />
* Added new token/variable: @reactversion@.<br />
* Changed "Comment" option in INI file to include the new @reactversion@ token.<br />
<br />
<br />
* Fixed cuesheet generation problems when "Retrieve UPC/ISRC code in CUE sheet generation" option is set in EAC.<br />
* Changed: "Use this directory" setting in EAC is mandatory and REACT will notify the user if it's not set at the program launch. Avoids/fixes the cuesheet generation problems when "Standard directory for extraction: Ask every time" option is set in EAC.<br />
* Changed: configuring REACT by Ctrl-F2 will now set the "Use this directory" setting in EAC and the user "My Music" directory is used as the destination folder.<br />
<br />
<br />
* Fixed a bug with image filenames saved sometimes incorrectly (again) in Windows Vista.<br />
* Changed: if the image filename set still fails, the user is notified about this and has an option to manually enter the correct filename or by pasting it from the clipboard.<br />
<br />
<br />
* Fixed EAClog cleanup. Only the left behind EAClog of current album is deleted.<br />
<br />
<br />
* Fixed a couple of problems when the INI file opened by Alt-F2 wasn't closed before ripping. REACT now notifies the user about this and the INI file (in Notepad) must be closed.<br />
<br />
<br />
* Fixed lost window focus when starting REACT.<br />
* Fixed lost window focus when changing the CD Artist or CD Title fields.<br />
* Fixed couple of REACT info not visible in EAC window title problems.<br />
<br />
<br />
* Updated AutoIt from v3.2.8.1 to v3.2.12.1 and changed REACT to work with the new version. There were some fixes, among others, to AutoIt in Vista, so hopefully this update improves REACT functionality in Vista.<br />
<br />
<br />
* Fixed up a bit the "DebugMode" logging mess to debugging.txt when multithreading in tracks mode.<br />
<br />
<br />
'''2.0.akku.b02''' (10th May 2008, first public release)<br />
* Feature change: CoverDownloader starts now before cuesheet generation.<br />
<br />
<br />
'''2.0.akku.b01''' (7th February 2008)<br />
* Fixed a rare bug with image filenames saved sometimes incorrectly.<br />
* Changed the cuesheet creation once more to fix couple of rare bugs.<br />
* Changed REACT-track.cfg to show DOS prompt output correctly when Debug=1 set.<br />
* Fixed left behind EAClog cleanup failure when using EAC 0.99 versions.<br />
<br />
<br />
===Download===<br />
Latest version direct download: [http://www.hydrogenaudio.org/forums/index.php?act=Attach&type=post&id=4634 REACT_2.0.akku.b03.zip]<br />
<br />
Older versions are available from [http://www.hydrogenaudio.org/forums/index.php?showtopic=63179 Akkurat's REACT mod] thread in Hydrogenaudio Forums.<br />
<br />
<br />
<br />
<br />
<br />
<br />
==Synthetic Soul's Mod==<br />
<br />
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]<br />
<br />
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].<br />
<br />
===Key Points===<br />
<br />
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.<br />
* Track-level tokens supported.<br />
* Additional meta data added to cuesheets, as REM statements.<br />
* Fixes issue in REACT with '%' in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=494794 post] ).<br />
* Fixes issue in REACT with '&' in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495493 post] ).<br />
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.<br />
* Will only rewrite INI file on major or minor version change, not a new build.<br />
* Use Test & Copy by adding <code>Test=1</code> under the Settings section of REACT.ini.<br />
<br />
<br />
===Description===<br />
<br />
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs. This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).<br />
<br />
The dialogue is opened using '''Alt+F5'''. The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also. If you close the dialogue it is simply hidden from view, so your list items will stay intact. Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.<br />
<br />
The current list state is recorded in a new file called "meta.ini" in your REACT folder. The values in this INI are eventually used to replace tokens with values when your config runs. The INI is updated any time that you update or delete an item.<br />
<br />
====Setting Defaults====<br />
<br />
Default tokens and their values can be set in the REACT.ini file, under the newly created '''DefaultMetaData''' section. When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults. The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see '[[REACT:Mods#A Basic Alternative|A Basic Alternative]]').<br />
<br />
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of '1'. If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to '1' when a new disc is inserted. The article '[[REACT:Adding Support For Disc Information]]' details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.<br />
<br />
====Processing Tokens====<br />
<br />
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements. Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values. Track-level tokens are added beneath the appropriate TRACK statement. Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR's $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}. <br />
<br />
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@. These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.<br />
<br />
====Track-Level Tokens====<br />
<br />
Most tokens are album-related. If you want to set track-level tokens you should use the format '''<token name>[<track number>]''', e.g.: '''composer[1]''' to set the composer token value for track one. Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.<br />
<br />
====Using The Tokens====<br />
<br />
You can use both @ and $-style tokens in your config. When using $ tokens any integer value will be zero-padded ("4" -> "04") and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement. Therefore, if you create a token called '''discname''' you can use @discname@ when tagging, and $discname$ when creating a file or folder name. <br />
<br />
<br />
===A Basic Alternative===<br />
If you want to use additional tokens in your config but do not want to use this mod you ''can'' add additional variables to the existing '''UserTrackFormats''', '''UserOutputNames''', and, ''more pertinently'', '''UserSettings''' sections of REACT.ini. You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.<br />
<br />
<br />
===Changelog===<br />
2.0.ssb5, 03/05/07<br />
* First public release.<br />
<br />
2.0.ssb6, 04/05/07<br />
* Additional Meta Data dialogue made child of EAC window.<br />
* Changed function prefix from fGUI to fDiag to save confusion.<br />
<br />
2.0.ssb8, 14/05/07<br />
* Moved default values into REACT.ini.<br />
* Fixed the code that writes track-level meta data to the cuesheet.<br />
* Current token values now stored in "meta.ini", not "metadata.ini".<br />
* Moved a little more code from the main source file into the include.<br />
<br />
2.0.ssb9, 14/05/07<br />
* Track cuesheets now supported.<br />
<br />
2.0.ssb10, 30/05/07<br />
* Added underscore prefix to identify temporary tokens.<br />
* Fixed REACT issue with "%" in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=494794 post] )<br />
* Fixed REACT issue with "&" in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495493 post] )<br />
<br />
2.0.ssb11, 01/07/07<br />
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=501821 post] )<br />
* Will only rewrite INI file on major or minor version change, not a new build.<br />
<br />
2.0.ssb12, 02/07/07<br />
* Log file handling now works correctly for track ripping.<br />
<br />
2.0.ssb13, 04/07/07<br />
* Reverted cover filename to "<album>.jpg" irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=502330 post] )<br />
<br />
2.0.ssb15, 17/07/07<br />
* Reverted @albumfile@ to "<sourcedir>\<album>", irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=505038 post] )<br />
* Add <code>Test=1</code> under the Settings section of REACT.ini to use Test and Copy mode.<br />
<br />
2.0.ssb16, 29/07/07<br />
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.<br />
* Fixed bug with @ and $ values. @totaldiscs@ will now correctly return "3", while $totaldiscs$ will return "03".<br />
<br />
2.0.ssb16b, 15/08/07<br />
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=510414 post] ).<br />
<br />
2.0.ssb16c, 21/08/07<br />
* Add <code>CoverDownloaderXUI=1</CODE> to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=511640 post] ).<br />
<br />
2.0.ssb16d, 21/08/07<br />
* Added BMP support to above.<br />
<br />
2.0.ssb16e, 23/08/07<br />
* Fixed bug with above, where the artist and album did not change with the disc.<br />
<br />
2.0.ssb16f, 11/09/07<br />
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=512481 post] ).<br />
<br />
2.0.ssb16g, 17/09/07<br />
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter. This will treat the files as if they had just been created by EAC as per normal execution.<br />
<br />
2.0.ssb16h, 17/09/07<br />
* Set <code>CoverDownloaderLocalPath</code>, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader. You may use $artist$ and $album$ tokens in the path, e.g.:<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg<br />
<br />
2.0.ssb16i, 12/11/07<br />
* Fixed a bug with <code>CreateAllCuesheets</code> when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529370 post] ).<br />
* Reinstated <code>TracksHotVal</code>, after unwittingly removing the functionality.<br />
<br />
2.0.ssb16j, 14/11/07<br />
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529854 post] ).<br />
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529854 post] ).<br />
<br />
2.0.ssb16k, 16/11/07<br />
* Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=530101 post] ).<br />
* UserOutputNames INI section no longer escaped, so you can again use Window's tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=530166 post] ).<br />
* REACT now checks that EAC is the active window before sending the commands to create the four cuesheets. <br />
<br />
2.0.ssb16l, 19/11/07<br />
* Log file name in track mode now, finally, calculated correctly.<br />
* The <code>RunCoverDownloader</code> values as documented in [[REACT|the wiki page]] should now work as expected.<br />
<br />
2.0.ssb16m, 28/11/07<br />
* The number of tracks to process is now calculated from a cuesheet in track mode.<br />
* Expanded CreateAllCuesheets code to notify the user if a problem occurs.<br />
<br />
2.0.ssb16n, 30/11/07<br />
* Added Akkurat's improvements to the CreateAllCuesheets processing.<br />
* Added nago's multi-thread amendments.<br />
* Updated configs and INI are now included in the download.<br />
<br />
2.0.ssb16o, 29/01/08<br />
* Fixed a bug regarding track-level tokens with double-digit track numbers.<br />
<br />
2.0.ssb16p, 02/02/08<br />
* Fixed a bug with backslashes in additional meta data not being written to cuesheets.<br />
* Double quotes in additional meta data are now converted to apostrophes when written to the batch file.<br />
<br />
===Download===<br />
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16p.zip REACT 2.0.ssb16p]<br />
<br />
[[Category:REACT|Mods]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACTREACT2008-05-10T17:07:56Z<p>Akkurat: Added Akkurat's Mod links and corrected one EAC version reference</p>
<hr />
<div>REACT ('''R'''un '''EAC''' '''T'''asks) can be used in conjunction with [[Exact Audio Copy]] (EAC), as an external compressor.<br />
<br />
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. '''In short''', REACT allows you to run multiple tasks on the audio extracted, instead of only one.<br />
<br />
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.<br />
<br />
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 '''@artist@''' in the script will be replaced by the [[freedb]] artist name, while '''$artist$''' will be replaced with a ''filename-friendly'' version of the artist name (with illegal characters replaced according to your requirements).<br />
<br />
'''From REACT v2.0 Final, most configuration can be done by editing the INI file only'''. Only advanced users should edit the .cfg files.<br />
<br />
REACT v2.0 as published does not currently work with EAC 0.99 prebeta 1-4 due to a naming scheme mismatch between old and new EAC versions, and also has a number of known bugs addressed with [[REACT:Mods#Synthetic_Soul.27s_Mod|Synthetic Soul's Mod]] or [[REACT:Mods#Akkurat.27s_Mod|Akkurat's Mod]] of REACT.<br />
==Hotkeys==<br />
<br />
REACT adds a few useful hotkeys to EAC:<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Key || Function<br />
|-<br />
| F1 || Wiki page for EAC.<br />
|-<br />
| Alt-F1 || Wiki page for REACT (this page).<br />
|-<br />
| Ctrl-F2 || Configure EAC to be used with REACT.<br />
|-<br />
| Alt-F2 || Edit REACT.ini in notepad.<br />
|-<br />
| Alt-F3 || Edit REACT-image.cfg in notepad.<br />
|-<br />
| 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 & Copy instead of Copy only. If the INI key CreateAllCuesheets=1, all four cuesheet types are saved as different files as well.<br />
|-<br />
| F10 || Shortcut to menu "Action - Copy Image and Save CUE Sheet - Compressed...". 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.<br />
|-<br />
|}<br />
<br />
==Configuration Files==<br />
<br />
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:<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| File || Description<br />
|-<br />
| REACT.ini || Regular INI file with key=values pairs. Defines variables used by the CFG files.<br />
|-<br />
| REACT-tracks.cfg || - Used for "Copy Selected Tracks Compressed", default shortcut : F4<br />
|-<br />
| REACT-image.cfg || - Used for "Copy Image & Create CUE Sheet Compressed", default shortcut : F10<br />
|-<br />
|}<br />
<br />
==The REACT.INI File==<br />
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.<br />
<br />
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.<br />
<br />
===Settings Section===<br />
<br />
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:<br />
<pre><br />
[Settings]<br />
Version=2.0<br />
ImageExt=flac<br />
ImageNaming=$artist$ - [$year$] $album$<br />
ImageHotKey={F10}<br />
TracksHotKey={F4}<br />
TracksHotVal=+{F5}<br />
VA=Various Artists<br />
CreateAllCuesheets=0<br />
RunCoverDownloader=1<br />
CoverDownloader=C:\Program Files\REACT2\coverdownloader\albumart.exe<br />
EAC=C:\Program Files\Exact Audio Copy\EAC.exe<br />
MinimizeCompressionWindow=1<br />
ProcessPriority=1<br />
Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|'|#|[|]<br />
</pre><br />
<br />
Some of the keys are obvious, and some you really don't need to bother with unless you are a REACT Ninja, but here's a few to watch out for:<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| 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.<br />
|-<br />
| 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's textboxes, and therefore do not strictly relate to the extended variables available within your config.<br />'''Please note:''' Your scheme ''must'' begin "$artist$ -" in order for Various Artists discs to be recognised properly.<br />
|-<br />
| VA || Default set to 'Various Artists'. The variable @va@ holds this string. See @cdartist@ below for further details.<br />
|-<br />
| 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.<br />
|-<br />
| 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.<br />
|-<br />
| 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).<br />
|}<br />
<br />
===UserTrackFormat Section===<br />
This section enables/disables output audio formats to be created.<br />
<br />
===UserOutputNames Section===<br />
Here the track names and the output paths are defined for the different output audio formats.<br />
OutRoot is the common directory used under many file naming schemes. Individual directories and naming schemes for each format are set with respective ImageDir_Flac, TrackDir_AAC, etc. When saving formats to different drives OutRoot must be replaced with address spelled out. <br><br />
Different naming schemes are available for Various Artist CDs. see variable options under METADATA<br><br />
TrackName_NA - file naming for single artist <br><br />
TrackName_VA - file naming for various artist<br><br />
TrackName_SA_acdir=$n - $~t - ACDIR is used when ripping an image and splitting it into tracks. It will be passing [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=35158&view=findpost&p=327260 EAC variables] directly through. The tilde [http://nyaochi.sakura.ne.jp/xoops/modules/mysoftwares/tc_2.html replaces illegal filename characters with a space].<br><br />
File naming schemes are largely up to personal usage and preference but some examples are<br><br />
[http://www.teqnilogik.com/tutorials/eac.htm#SettingEACOptions example 1]<br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=956 example 2]<br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=47558 example 3]<br />
[http://www.hydrogenaudio.org/forums/index.php?showtopic=31698 example 4]<br />
<br />
===UserSettings Section===<br />
Set various variables for more detailed configuration.<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| 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. <br />
|-<br />
| Comment || Override the default @comment@ variable (taken from EAC)<br />
|-<br />
| EmbedCover || Select if you want your cover pictures embeded into the audio files, or only copied to the target directory as 'folder.jpg'.<br />
|-<br />
| ReplayGain || Enable/Disable ReplayGain calculation and tagging.<br />
|-<br />
| ApplyAlbumGain || Apply the album gain to the files, so they are played back with a consistent volume across the albums on every player.<br />
|-<br />
| AdjustAlbumGain_dB || If you want to adjust the album gain from 89.0 dB when applying to the audio, set adjustment in dB here.<br />
|-<br />
| AddCuesheetAG || Add Album gain/Album peak values to the cuesheet as REM lines. This implies that WaveGain is ran.<br />
|-<br />
| 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.<br />
|-<br />
| Opt_... || Variables that defines options for each encoder used.<br />
|-<br />
| Ver_... || Variables that defines the version number for each encoder used.<br />
|}<br />
<br />
==Editing the CFG files (advanced)==<br />
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):<br />
<br />
{| border="0" cellpadding="0" cellspacing="4"<br />
! style=padding-right:24px;| Variable || Description<br />
|-<br />
| '''PATHS AND FILES''' || <br />
|-<br />
| @reactdir@ || The path to the directory in which REACT resides<br />
|-<br />
| @tools@ || The path to the directory in which the encoders reside. Set within the INI file<br />
|-<br />
| @mymusic@ || The path to your 'My Music' folder<br />
|-<br />
| @sourcedir@ || The path to the folder in which the copied source files are located ([[WAV]]/LOG/CUE)<br />
|-<br />
| @basename@ || The name of the file being created, excluding folders and extension <br />
|-<br />
| @source@ || The path to the temporary source [[WAV|WAVE]] file<br />
|-<br />
| @image@ || The path to the final image file, when used in '''Copy Image''' mode<br />
|-<br />
| @imageext@ || The extension of the compressed target image, e.g. flac<br />
|-<br />
| @sourcecuesheet@ || The path to the (temporary) source [[Cuesheet|cuesheet]], when used in '''Copy Image''' mode<br />
|-<br />
| @cuesheet@ || The path to the final [[Cuesheet|cuesheet]], when used in '''Copy Image''' mode<br />
|-<br />
| @eaclog@ || The path to the log file created by [[Exact Audio Copy|EAC]]<br />
|-<br />
| @cover@ || The path to the cover/album art picture file, dowloaded with CoverDownloader.<br />
|-<br />
| @albumfile@ || The base path to the cuesheet files without extension, created when CreateAllCuesheets=1 in the INI file. E.g, "@albumfile@.[mg].cue" is the multiple wav files cuesheet with gaps. <br />
|-<br />
| || <br />
|-<br />
| '''METADATA''' || <br />
|-<br />
| @cdartist@ || The name of the CD artist. If @various@=1 @cdartist@ equals the variable @va@, otherwise @artist@. Use $cdartist$ in file paths<br />
|-<br />
| @artist@ || The name of the track artist. Use $artist$ in paths<br />
|-<br />
| @album@ || The name of the album. Use $album$ in paths<br />
|-<br />
| @title@ || The song title. Use $title$ in paths<br />
|-<br />
| @track@ || The track number. Use $track$ to zero-pad the track number, i.e.: turn 9 into 09 <br />
|-<br />
| @numtracks@ || The total number of tracks. Use $numtracks$ to zero-pad the number<br />
|-<br />
| @genre@ || The album genre. Use $genre$ in paths<br />
|-<br />
| @year@ || The album year<br />
|-<br />
| @comment@ || The comment. Use $comment$ in paths<br />
|-<br />
| @freedbid@ || The [[freedb]] ID<br />
|-<br />
| || <br />
|-<br />
| '''OTHER''' || <br />
|-<br />
| @various@ || Is 1 if the EAC 'Various' checkbox was checked. Otherwise 0<br />
|-<br />
| @va@ || The name of VariousArtist. Default 'Various Artists'.<br />
|-<br />
| @crc@ || The [[CRC]] of the file<br />
|-<br />
| @bitrate@ || The value of the '''Bitrate''' dropdown on EAC's External Compressor dialogue<br />
|-<br />
| @curdate@ || The current date<br />
|}<br />
<br />
<br />
==Links==<br />
<br />
Ask REACT questions in this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=50273<br />
<br />
Download REACT from this thread : http://www.hydrogenaudio.org/forums/index.php?showtopic=50259<br />
<br />
Download [[User:Synthetic Soul|Synthetic Soul's]] or [http://www.hydrogenaudio.org/forums/index.php?showuser=48750 Akkurat's] mod (for EAC 0.99 support and more) from this page : [[REACT:Mods]]<br />
<br />
[[Category:REACT]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:ModsREACT:Mods2008-05-10T16:56:45Z<p>Akkurat: Added Akkurat's mod</p>
<hr />
<div>==Akkurat's Mod==<br />
<br />
===Description===<br />
This mod continues from where the great Synthetic Soul's 2.0.ssb16p mod of REACT left. This mod is going to mainly fix bugs and problems. So, only "good" feature requests please. ;) Thanks.<br />
<br />
At this point, the INI file version still refers to Synthetic Soul's version because nothing has been changed in it.<br />
<br />
Please read [http://wiki.hydrogenaudio.org/index.php?title=REACT:Mods&action=submit#Synthetic_Soul.27s_Mod Synthetic Soul's Mod] if you want to know what changes Synthetic Soul brought to REACT with his mod.<br />
<br />
<br />
===Contact===<br />
Comments, questions, bug reports, etc., please contact [http://www.hydrogenaudio.org/forums/index.php?showuser=48750 Akkurat] in Hydrogenaudio Forums.<br />
<br />
Or write to [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 Released] thread.<br />
<br />
<br />
===Changelog===<br />
'''2.0.akku.b02''' (10th May 2008, first public release)<br />
* Feature change: CoverDownloader starts now before cuesheet generation.<br />
<br />
'''2.0.akku.b01''' (7th February 2008)<br />
* Fixed a rare bug with image filenames saved sometimes incorrectly.<br />
* Changed the cuesheet creation once more to fix couple of rare bugs.<br />
* Changed REACT-track.cfg to show DOS prompt output correctly when Debug=1 set.<br />
* Fixed left behind EAClog cleanup failure when using EAC 0.99 versions.<br />
<br />
<br />
===Download===<br />
From [http://www.hydrogenaudio.org/forums/index.php?showtopic=63179 Akkurat's REACT mod] thread in Hydrogenaudio Forums.<br />
<br />
Direct download: [http://www.hydrogenaudio.org/forums/index.php?act=Attach&type=post&id=4467 REACT_2.0.akku.b02.zip]<br />
<br />
<br />
<br />
<br />
==Synthetic Soul's Mod==<br />
<br />
[[Image:React-mod.png|thumb|Screenshot demonstrating the Additional Meta Data dialogue]]<br />
<br />
[[User:Synthetic Soul|Synthetic Soul]] maintains a mod of [[REACT|REACT 2.0]].<br />
<br />
===Key Points===<br />
<br />
* Additional Meta Data dialogue allows you to easily edit supplemental disc and track information.<br />
* Track-level tokens supported.<br />
* Additional meta data added to cuesheets, as REM statements.<br />
* Fixes issue in REACT with '%' in any field ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=494794 post] ).<br />
* Fixes issue in REACT with '&' in the track name when using REACT-track.cfg ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495493 post] ).<br />
* Works with new- (EAC 0.99 prebeta 1) and old-style log files.<br />
* Will only rewrite INI file on major or minor version change, not a new build.<br />
* Use Test & Copy by adding <code>Test=1</code> under the Settings section of REACT.ini.<br />
<br />
<br />
===Description===<br />
<br />
The main purpose of this mod is to allow users to easily provide additional meta data to the [[REACT]] configs. This is achieved by the introduction of an Additional Meta Data dialogue, which allows users to easily create, amend and delete additional tokens, which can be used either to set tag values (e.g.: @discnumber@) , or as variables used in conditions within the config to alter the processing path (e.g.: @_disctype@).<br />
<br />
The dialogue is opened using '''Alt+F5'''. The new dialogue is non-modal, but will stay on top of the EAC main window; if you minimise [[EAC]] the dialogue is minimised also. If you close the dialogue it is simply hidden from view, so your list items will stay intact. Therefore, if you need to set various meta data for each disc that you are ripping, you may choose to keep the dialogue open throughout the process; however, if you only need to use it to alter values infrequently, you can leave it hidden, but know that the values are still available to your config file.<br />
<br />
The current list state is recorded in a new file called "meta.ini" in your REACT folder. The values in this INI are eventually used to replace tokens with values when your config runs. The INI is updated any time that you update or delete an item.<br />
<br />
====Setting Defaults====<br />
<br />
Default tokens and their values can be set in the REACT.ini file, under the newly created '''DefaultMetaData''' section. When [[REACT]] is initially opened, or the user changes a disc, the token values are reset to these defaults. The dialogue allows you to quickly and easily amend the token values on a per disc basic, rather than having to edit the INI manually (see '[[REACT:Mods#A Basic Alternative|A Basic Alternative]]').<br />
<br />
A simple example would be the @discnumber@ and @totaldiscs@ tokens, which are initially set to a default of '1'. If you are ripping a multi-disc album you can alter these values as required, in the knowledge that they will revert to '1' when a new disc is inserted. The article '[[REACT:Adding Support For Disc Information]]' details config changes that will use these tokens to add disc information to your files, and amend the folder structure, if @totaldiscs@ exceeds one.<br />
<br />
====Processing Tokens====<br />
<br />
Your additional tokens are inserted into any [[Cuesheet|cuesheets]] created using REM statements, so are available to ACDIR, and any other application that can parse [[Cuesheet|cuesheets]] with REM statements. Album-level tokens are added at the top of the [[Cuesheet|cuesheet]], with the other global values. Track-level tokens are added beneath the appropriate TRACK statement. Therefore, if you are ripping to an image, you can still use these values with any tracks you create, using ACDIR's $R{} and $r{} syntax, e.g.: $R{DISCNUMBER} and $r{COMPOSER}. <br />
<br />
If you do not want certain tokens added to the cuesheet you can prefix the token name with an underscore, e.g.: @_disctype@. These are assumed to be temporary, or processing, tokens, used purely for conditionally executing sections of your config.<br />
<br />
====Track-Level Tokens====<br />
<br />
Most tokens are album-related. If you want to set track-level tokens you should use the format '''<token name>[<track number>]''', e.g.: '''composer[1]''' to set the composer token value for track one. Your config should refer to the token only by name, e.g.: @composer@. When processing track one, @composer@ will be replaced by the value of composer[1], when processing track two, @composer@ will be replaced by the value of composer[2], etc.<br />
<br />
====Using The Tokens====<br />
<br />
You can use both @ and $-style tokens in your config. When using $ tokens any integer value will be zero-padded ("4" -> "04") and any string values will be converted to a filename-friendly value, using the standard [[REACT]] character replacement. Therefore, if you create a token called '''discname''' you can use @discname@ when tagging, and $discname$ when creating a file or folder name. <br />
<br />
<br />
===A Basic Alternative===<br />
If you want to use additional tokens in your config but do not want to use this mod you ''can'' add additional variables to the existing '''UserTrackFormats''', '''UserOutputNames''', and, ''more pertinently'', '''UserSettings''' sections of REACT.ini. You will need to update these variables by hand in a text editor if the value required for the disc you are ripping differs from the current value set.<br />
<br />
<br />
===Changelog===<br />
2.0.ssb5, 03/05/07<br />
* First public release.<br />
<br />
2.0.ssb6, 04/05/07<br />
* Additional Meta Data dialogue made child of EAC window.<br />
* Changed function prefix from fGUI to fDiag to save confusion.<br />
<br />
2.0.ssb8, 14/05/07<br />
* Moved default values into REACT.ini.<br />
* Fixed the code that writes track-level meta data to the cuesheet.<br />
* Current token values now stored in "meta.ini", not "metadata.ini".<br />
* Moved a little more code from the main source file into the include.<br />
<br />
2.0.ssb9, 14/05/07<br />
* Track cuesheets now supported.<br />
<br />
2.0.ssb10, 30/05/07<br />
* Added underscore prefix to identify temporary tokens.<br />
* Fixed REACT issue with "%" in any field. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=494794 post] )<br />
* Fixed REACT issue with "&" in the track name when using REACT-track.cfg. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495125 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=495493 post] )<br />
<br />
2.0.ssb11, 01/07/07<br />
* Works with new- (EAC 0.99 prebeta 1) and old-style (EAC 0.95 beta 4 and earlier) log files. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=501821 post] )<br />
* Will only rewrite INI file on major or minor version change, not a new build.<br />
<br />
2.0.ssb12, 02/07/07<br />
* Log file handling now works correctly for track ripping.<br />
<br />
2.0.ssb13, 04/07/07<br />
* Reverted cover filename to "<album>.jpg" irrespective of EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=502330 post] )<br />
<br />
2.0.ssb15, 17/07/07<br />
* Reverted @albumfile@ to "<sourcedir>\<album>", irrespective of the EAC version. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=505038 post] )<br />
* Add <code>Test=1</code> under the Settings section of REACT.ini to use Test and Copy mode.<br />
<br />
2.0.ssb16, 29/07/07<br />
* Fixed issues with meta data changing mid-process. meta.ini is now only updated with the GUI values immediately before a rip begins.<br />
* Fixed bug with @ and $ values. @totaldiscs@ will now correctly return "3", while $totaldiscs$ will return "03".<br />
<br />
2.0.ssb16b, 15/08/07<br />
* Fixed issue with log file name when ripping a VA album to tracks ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=510414 post] ).<br />
<br />
2.0.ssb16c, 21/08/07<br />
* Add <code>CoverDownloaderXUI=1</CODE> to the [Settings] section of your REACT.ini when using Album Art XUI, and REACT will cope with JPEG, GIF, and PNG album art ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=511640 post] ).<br />
<br />
2.0.ssb16d, 21/08/07<br />
* Added BMP support to above.<br />
<br />
2.0.ssb16e, 23/08/07<br />
* Fixed bug with above, where the artist and album did not change with the disc.<br />
<br />
2.0.ssb16f, 11/09/07<br />
* Hitting Ctrl+F2 to reconfigure EAC will now ensure that the working directories used by EAC are in synch ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=515730 post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=512481 post] ).<br />
<br />
2.0.ssb16g, 17/09/07<br />
* You can now process an existing wav/cue/log(/jpg) file-set by passing the full cuesheet path to REACT as a single parameter. This will treat the files as if they had just been created by EAC as per normal execution.<br />
<br />
2.0.ssb16h, 17/09/07<br />
* Set <code>CoverDownloaderLocalPath</code>, in the [Settings] section of your REACT.ini, to the path of your existing album art if you would rather chose those over any downloaded using the cover downloader. You may use $artist$ and $album$ tokens in the path, e.g.:<br />
CoverDownloaderLocalPath=C:\Documents and Settings\My Name\My Documents\My Music\$artist$\$album$\folder.jpg<br />
<br />
2.0.ssb16i, 12/11/07<br />
* Fixed a bug with <code>CreateAllCuesheets</code> when detecting gaps is required ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529370 post] ).<br />
* Reinstated <code>TracksHotVal</code>, after unwittingly removing the functionality.<br />
<br />
2.0.ssb16j, 14/11/07<br />
* Artist and album names are now correctly escaped in the album art command lines ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529854 post] ).<br />
* Apostrophes in the log file name are now correctly replaced with a space (in track mode) ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=529854 post] ).<br />
<br />
2.0.ssb16k, 16/11/07<br />
* Apostrophes no longer wrongly replaced, and double quotes now simply removed from album art command line. ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=530101 post] ).<br />
* UserOutputNames INI section no longer escaped, so you can again use Window's tokens, e.g.: %USERPROFILE% ( [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=530166 post] ).<br />
* REACT now checks that EAC is the active window before sending the commands to create the four cuesheets. <br />
<br />
2.0.ssb16l, 19/11/07<br />
* Log file name in track mode now, finally, calculated correctly.<br />
* The <code>RunCoverDownloader</code> values as documented in [[REACT|the wiki page]] should now work as expected.<br />
<br />
2.0.ssb16m, 28/11/07<br />
* The number of tracks to process is now calculated from a cuesheet in track mode.<br />
* Expanded CreateAllCuesheets code to notify the user if a problem occurs.<br />
<br />
2.0.ssb16n, 30/11/07<br />
* Added Akkurat's improvements to the CreateAllCuesheets processing.<br />
* Added nago's multi-thread amendments.<br />
* Updated configs and INI are now included in the download.<br />
<br />
2.0.ssb16o, 29/01/08<br />
* Fixed a bug regarding track-level tokens with double-digit track numbers.<br />
<br />
2.0.ssb16p, 02/02/08<br />
* Fixed a bug with backslashes in additional meta data not being written to cuesheets.<br />
* Double quotes in additional meta data are now converted to apostrophes when written to the batch file.<br />
<br />
===Download===<br />
[http://www.synthetic-soul.co.uk/temp/REACT_2.0.ssb16p.zip REACT 2.0.ssb16p]<br />
<br />
[[Category:REACT|Mods]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:Backup_DATA_TrackREACT:Backup DATA Track2008-05-08T22:50:30Z<p>Akkurat: Code changes, more examples, etc.</p>
<hr />
<div>Here's a method to backup all the files from an enhanced cd when ripping albums with REACT.<br />
<br />
<br />
<br />
Note that EAC sometimes "locks" the CD drive in a way that it's impossible to access the CD in Windows Explorer or DOS and thus this method of backing up the data track will fail. This method will detect such a situation and will pause the encoding process with an error message. This hindrance can be avoided by inserting the CD ''before'' starting REACT.<br />
<br />
<br />
<br />
Brief explanation what the following code does:<br />
# Check from a cuefile if there's a data track present in the CD.<br />
# Test if CD is locked/not accessible and pause & stop backup on errors.<br />
# Get CD label from DIR command.<br />
# Create a subdir '''DATA TRACK (''<CD label>'')'''.<br />
# Copy all files (+hidden and system files) with attributes from the CD drive including empty subdirs and verify the new files.<br />
# Pause and print error message if there was an error in the copy process.<br />
<br />
<br />
<br />
Edit your '''REACT.ini''' file and make sure that the following two lines are set correctly.<br />
<br />
Under [Settings]:<br />
<pre>CreateAllCuesheets=1</pre><br />
<br />
Under [UserSettings]:<br />
<pre>CDDrive=D:</pre><br />
Change the drive letter to match your cd ripping drive.<br />
<br />
<br />
Copy the following code ''to the end'' of the '''REACT-image.cfg''' and/or '''REACT-track.cfg''' file(s) depending on which ripping methods you are using.<br />
<pre><br />
GOTO :EOF<br />
<br />
:BackupDataTrack<br />
<br />
REM ** Copy all files from the CD if there's a data track.<br />
SET DataExists=0<br />
<br />
IF NOT EXIST "@albumfile@.[mg].cue" GOTO :EOF<br />
FOR /F "tokens=* delims=" %%i IN ('FINDSTR /R "TRACK....MODE*" "@albumfile@.[mg].cue"') DO SET DataExists=1<br />
<br />
IF %DataExists%==0 GOTO :EOF<br />
ECHO. &ECHO ===== BACKING UP DATA FILES ===== &ECHO.<br />
<br />
REM ** Test if CD is locked/not accessible and pause & stop backup on errors.<br />
DIR @CDDrive@ >NUL<br />
IF ERRORLEVEL 1 ECHO. &ECHO ===== ERROR: CD LOCKED/NOT ACCESSIBLE ===== &ECHO. &PAUSE &GOTO :EOF<br />
<br />
REM ** Get CD label.<br />
FOR /F "tokens=5* delims= " %%a IN ('DIR @CDDrive@ ^| FIND /I "Volume in drive"') DO SET DataDir="DATA TRACK (%%b)"<br />
<br />
REM ** Make a subdir with CD label in parentheses.<br />
MKDIR %DataDir%<br />
<br />
REM ** Copy all files (+hidden and system files) with attributes from the CD drive including empty subdirs and verify the new files.<br />
XCOPY @CDDrive@\*.* %DataDir% /E /H /K /V<br />
<br />
REM ** Pause on XCOPY errors.<br />
IF ERRORLEVEL 1 ECHO. &ECHO ===== ERROR: COPY FAILED ===== &ECHO. &PAUSE<br />
<br />
ECHO.<br />
<br />
GOTO :EOF<br />
</pre><br />
<br />
<br />
<br />
Next you have to add the following code to the proper place in '''REACT-image.cfg''' and/or '''REACT-track.cfg''' file(s):<br />
<pre><br />
REM ** Call data track detection and backup routine<br />
CALL :BackupDataTrack<br />
</pre><br />
NOTE! This code '''must''' be placed between ''PUSHD <destination directory>'' and ''POPD'' lines! See the examples below for more information.<br />
<br />
<br />
<br />
Example 1. '''REACT-track.cfg''' (for Flac tracks, in post-processing section of the file):<br />
<pre><br />
IF @Flac@==1 (<br />
PUSHD %TrackDir_Flac%<br />
<br />
REM ** Call data track detection and backup routine<br />
CALL :BackupDataTrack<br />
<br />
IF %add_rg%==1 @tools@\Glob.exe -v -c @tools@\metaflac.exe %RG_MetaFlac% *.flac<br />
REM COPY /Y "@eaclog@" "EAClog.txt"<br />
POPD<br />
)<br />
</pre><br />
<br />
<br />
Example 2. '''REACT-image.cfg''' (for Flac '''tracks'''):<br />
<pre><br />
IF NOT @Flac@==1 GOTO end_flac_tracks<br />
SET dest="@TrackDir_Flac@%trackDir%"<br />
IF NOT EXIST %dest% MKDIR %dest%<br />
PUSHD %dest%<br />
<br />
REM ** Call data track detection and backup routine<br />
CALL :BackupDataTrack<br />
<br />
IF @various@==1 SET VA_tag=-T $qalbum artist=@VA@$q<br />
IF %embed_cover%==1 SET Cover_tag=--picture=$#x<br />
@tools@\acdir.exe --overwrite --output "%TrackName%.flac" --extra-opt "|image/jpeg|||@cover@" --pipe "TITLE $n/$N flac $#T & @tools@\flac.exe @Opt_Flac@ %Cover_tag% %VA_tag% %Disc_Flac_acdir% -T artist=$#a -T album=$#T -T title=$#t -T tracknumber=$n/$N -T date=$q@year@$q -T genre=$q@genre@$q -T comment=$q@comment@$q -T encoded-by=$q%USERNAME%$q -T encoding=$qFlac @Ver_Flac@ @Opt_Flac@$q - -o $#o" "@sourcecuesheet@"<br />
IF %add_rg%==1 @tools@\Glob.exe -v -c @tools@\metaflac.exe %RG_MetaFlac% *.flac<br />
COPY /Y "@eaclog@" "EAClog.txt"<br />
IF %have_cover%==1 COPY /Y "@cover@" "folder.jpg"<br />
IF EXIST "@albumfile@.[*].cue" COPY /Y "@albumfile@.[*].cue" .<br />
POPD<br />
:end_flac_tracks<br />
</pre><br />
<br />
<br />
Example 3. '''REACT-image.cfg''' (for Flac '''images'''):<br />
<pre><br />
IF NOT @ImageExt@==flac GOTO end_flac_image<br />
SET dest="@ImageDir_Flac@%imageDir%"<br />
IF NOT EXIST %dest% MKDIR %dest%<br />
<br />
REM ** Call data track detection and backup routine<br />
PUSHD %dest%<br />
CALL :BackupDataTrack<br />
POPD<br />
<br />
IF %embed_cover%==1 SET Cover_tag=--picture="|image/jpeg|||@cover@"<br />
@tools@\flac.exe @Opt_Flac@ %RG_Flac% %Cover_tag% %Disc_Flac% -T "%ArtistField%=@cdartist@" -T album="@album@" -T totaltracks="@numtracks@" -T date="@year@" -T genre="@genre@" -T comment="@comment@" -T encoded-by="%USERNAME%" -T encoding="Flac @Ver_Flac@ @Opt_Flac@" --tag-from-file="cuesheet=@cuesheet@" --tag-from-file="eaclog=@eaclog@" "@source@" -o "@image@"<br />
MOVE /Y "@image@" %dest%<br />
MOVE /Y "@cuesheet@" %dest%<br />
IF %have_cover%==1 COPY /Y "@cover@" %dest%\"@basename@.jpg"<br />
:end_flac_image<br />
</pre><br />
Note that here we had to add ''PUSHD %dest%'' and ''POPD'' lines so that the data track files are copied to the right directory. <br />
<br />
<br />
<br />
<br />
This method has been tested to work at least in English Windows XP.<br />
<br />
If you have any comments, questions, bug reports, etc., please contact [http://www.hydrogenaudio.org/forums/index.php?showuser=48750 Akkurat] in Hydrogenaudio Forums.<br />
<br />
<br />
[[Category:REACT|Backup DATA Track]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:Backup_DATA_TrackREACT:Backup DATA Track2008-02-17T02:04:19Z<p>Akkurat: Added category code</p>
<hr />
<div>Here's a method to backup all the files from an enhanced cd when ripping albums with REACT.<br />
<br />
<br />
<br />
Brief explanation what the following code does:<br />
# Check from a cuefile if there's a data track present in the CD.<br />
# Get CD label from DIR command.<br />
# Create a subdir '''DATA TRACK (''<CD label>'')'''.<br />
# Copy all files (+hidden and system files) with attributes from the CD drive including empty subdirs.<br />
# Pause and print error message if there was an error in the copy process.<br />
<br />
<br />
<br />
Edit your '''REACT.ini''' file and make sure that the following two lines are set correctly.<br />
<br />
Under [Settings]:<br />
<pre>CreateAllCuesheets=1</pre><br />
<br />
Under [UserSettings]:<br />
<pre>CDDrive=E:</pre><br />
Change the drive letter to match your cd ripping drive.<br />
<br />
<br />
Use the following code in your '''REACT-image.cfg''' or '''REACT-track.cfg''' file.<br />
<pre><br />
REM ** Copy all files from the CD if there's a data track.<br />
SET /A DataExists=0<br />
<br />
IF EXIST "@albumfile@.[mg].cue" (<br />
SETLOCAL ENABLEDELAYEDEXPANSION<br />
FOR /F "tokens=* delims=" %%i IN ('FINDSTR /R "TRACK....MODE*" "@albumfile@.[mg].cue"') DO SET /A DataExists=!DataExists! + 1<br />
SETLOCAL DISABLEDELAYEDEXPANSION<br />
)<br />
<br />
IF NOT %DataExists%==0 (<br />
ECHO ===== BACKING UP DATA FILES =====<br />
<br />
SETLOCAL ENABLEDELAYEDEXPANSION<br />
<br />
REM ** Get CD label<br />
FOR /F "tokens=5* delims= " %%a IN ('DIR @CDDrive@ ^| FIND /I "Volume in drive"') DO SET CDLabel=%%b<br />
<br />
SET DataDir=DATA TRACK ^(!CDLabel!^)<br />
MKDIR "!DataDir!"<br />
<br />
REM ** Copy all files (+hidden and system files) with attributes from the CD drive including empty subdirs<br />
XCOPY @CDDrive@\*.* "!DataDir!" /E /H /K<br />
<br />
REM ** Pause on errors.<br />
IF ERRORLEVEL 1 ECHO. &ECHO ===== COPY FAILED ===== &ECHO. &PAUSE<br />
<br />
SETLOCAL DISABLEDELAYEDEXPANSION<br />
)<br />
</pre><br />
<br />
<br />
In example, you could put the above code between ''PUSHD'' and ''POPD'' lines in the post-processing section of the '''REACT-track.cfg''' file:<br />
<pre><br />
IF @Flac@==1 (<br />
PUSHD %TrackDir_Flac%<br />
IF %add_rg%==1 @tools@\Glob.exe -v -c @tools@\metaflac.exe %RG_MetaFlac% *.flac<br />
REM COPY /Y "@eaclog@" "EAClog.txt"<br />
<br />
<INSERT THE CODE HERE><br />
<br />
POPD<br />
)<br />
</pre><br />
<br />
<br />
<br />
This method has been tested to work at least in Windows XP.<br />
<br />
<br />
[[Category:REACT|Backup DATA Track]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:Backup_DATA_TrackREACT:Backup DATA Track2008-02-17T01:59:04Z<p>Akkurat: Initial version.</p>
<hr />
<div>Here's a method to backup all the files from an enhanced cd when ripping albums with REACT.<br />
<br />
<br />
<br />
Brief explanation what the following code does:<br />
# Check from a cuefile if there's a data track present in the CD.<br />
# Get CD label from DIR command.<br />
# Create a subdir '''DATA TRACK (''<CD label>'')'''.<br />
# Copy all files (+hidden and system files) with attributes from the CD drive including empty subdirs.<br />
# Pause and print error message if there was an error in the copy process.<br />
<br />
<br />
<br />
Edit your '''REACT.ini''' file and make sure that the following two lines are set correctly.<br />
<br />
Under [Settings]:<br />
<pre>CreateAllCuesheets=1</pre><br />
<br />
Under [UserSettings]:<br />
<pre>CDDrive=E:</pre><br />
Change the drive letter to match your cd ripping drive.<br />
<br />
<br />
Use the following code in your '''REACT-image.cfg''' or '''REACT-track.cfg''' file.<br />
<pre><br />
REM ** Copy all files from the CD if there's a data track.<br />
SET /A DataExists=0<br />
<br />
IF EXIST "@albumfile@.[mg].cue" (<br />
SETLOCAL ENABLEDELAYEDEXPANSION<br />
FOR /F "tokens=* delims=" %%i IN ('FINDSTR /R "TRACK....MODE*" "@albumfile@.[mg].cue"') DO SET /A DataExists=!DataExists! + 1<br />
SETLOCAL DISABLEDELAYEDEXPANSION<br />
)<br />
<br />
IF NOT %DataExists%==0 (<br />
ECHO ===== BACKING UP DATA FILES =====<br />
<br />
SETLOCAL ENABLEDELAYEDEXPANSION<br />
<br />
REM ** Get CD label<br />
FOR /F "tokens=5* delims= " %%a IN ('DIR @CDDrive@ ^| FIND /I "Volume in drive"') DO SET CDLabel=%%b<br />
<br />
SET DataDir=DATA TRACK ^(!CDLabel!^)<br />
MKDIR "!DataDir!"<br />
<br />
REM ** Copy all files (+hidden and system files) with attributes from the CD drive including empty subdirs<br />
XCOPY @CDDrive@\*.* "!DataDir!" /E /H /K<br />
<br />
REM ** Pause on errors.<br />
IF ERRORLEVEL 1 ECHO. &ECHO ===== COPY FAILED ===== &ECHO. &PAUSE<br />
<br />
SETLOCAL DISABLEDELAYEDEXPANSION<br />
)<br />
</pre><br />
<br />
<br />
In example, you could put the above code between ''PUSHD'' and ''POPD'' lines in the post-processing section of the '''REACT-track.cfg''' file:<br />
<pre><br />
IF @Flac@==1 (<br />
PUSHD %TrackDir_Flac%<br />
IF %add_rg%==1 @tools@\Glob.exe -v -c @tools@\metaflac.exe %RG_MetaFlac% *.flac<br />
REM COPY /Y "@eaclog@" "EAClog.txt"<br />
<br />
<INSERT THE CODE HERE><br />
<br />
POPD<br />
)<br />
</pre><br />
<br />
<br />
<br />
This method has been tested to work at least in Windows XP.</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:Amending_Cuesheet_File_ReferencesREACT:Amending Cuesheet File References2008-01-18T14:44:43Z<p>Akkurat: small corrections</p>
<hr />
<div>When using [[REACT]] to rip to individual tracks you can request all cuesheets to be created, by specifying the following in REACT.ini:<br />
<br />
<pre>CreateAllCuesheets=1</pre><br />
<br />
This will create the following files in the working directory:<br />
<br />
* '''"@albumfile@.[s].cue"''' (Single WAVE file)<br />
* '''"@albumfile@.[mg].cue"''' (Multiple WAVE files with gaps (non-compliant))<br />
* '''"@albumfile@.[m].cue"''' (Multiple WAVE files with gaps left out)<br />
* '''"@albumfile@.[mc].cue"''' (Multiple WAVE files with corrected gaps)<br />
<br />
<br />
The multi-file cuesheets will reference the tracks using the filename format set in [[EAC]], which should be "$cdartist$ - $album$ - $track$ - $title$" for standard albums, and specifying a ".wav" extension. However, this is unlikely to be the format that your track files are actually in, which means that the cuesheet will need to be amended in order to be useful.<br />
<br />
Below, you will find example code for two solutions, using two different tools. '''You are recommended to use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] for this purpose''', as certain special characters, e.g.: the ampersand, if used in your filenames, may cause problems when using [http://gnuwin32.sourceforge.net/packages/sed.htm SED].<br />
<br />
<br />
==Using GSAR==<br />
<br />
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files. This is achieved in the following way:<br />
<br />
# When the first track is processed the cuesheet will be copied to a new cuesheet file named "$cdartist$ - $album$.cue". A batch command, setting the correct codepage, is written to a temporary batch file called "update-cuesheet.bat".<br />
# Every time a track is processed, a GSAR command, to replace that track's filename, is written to the temporary batch file.<br />
# When the last track is processed, a GSAR command is executed to escape percent signs (%) in the temporary batch file.<br />
# The temporary batch file is executed, executing a GSAR command for each track.<br />
# The file "update-cuesheet.bat" is deleted.<br />
<br />
<br />
'''Creating the GSAR commands for each track'''<br />
<br />
The following lines need to be added to the code which is run for the format you are using for each track:<br />
<br />
<pre><br />
SET trackCueFile="$cdartist$ - $album$.cue"<br />
IF NOT EXIST %trackCueFile% (<br />
COPY "@albumfile@.[mg].cue" %trackCueFile%<br />
ECHO CHCP 1252 ^| PROMPT>>update-cuesheet.bat<br />
)<br />
ECHO @tools@\GSAR.EXE "-s@basename@.wav" "-r%TrackName%.wv" -o %trackCueFile%>>update-cuesheet.bat</pre><br />
<br />
Here it is in the WavPack section:<br />
<br />
<pre><br />
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks<br />
IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%<br />
PUSHD %TrackDir_Wavpack%<br />
IF @various@==1 SET VA_tag=-w "album artist=@VA@"<br />
ECHO ON<br />
@tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist="@artist@" -w album="@album@" -w track="@track@/@numtracks@" -w title="@title@" -w year="@year@" -w genre="@genre@" -w comment="@comment@" -w encodedby="%USERNAME%" -w encodersettings="Wavpack @Ver_Wavpack@ @Opt_Wavpack@" "@source@" "%TrackName%.wv"<br />
@ECHO OFF<br />
SET trackCueFile="$cdartist$ - $album$.cue"<br />
IF NOT EXIST %trackCueFile% (<br />
COPY "@albumfile@.[mg].cue" %trackCueFile%<br />
ECHO CHCP 1252 ^| PROMPT>>update-cuesheet.bat<br />
)<br />
ECHO @tools@\GSAR.EXE "-s@basename@.wav" "-r%TrackName%.wv" -o %trackCueFile%>>update-cuesheet.bat<br />
IF %have_cover%==1 IF NOT EXIST folder.jpg COPY "@cover@" folder.jpg<br />
TITLE @track@/@numtracks@ - "@album@"<br />
POPD<br />
:end_wavpack_tracks<br />
</pre><br />
<br />
Note that the extension ("wv") will need to be changed depending on the format that you are using. Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:<br />
<br />
<pre>ECHO @tools@\GSAR.EXE "-s@basename@.wav""" WAVE" "-r%TrackName%.mp3""" MP3" -o %trackCueFile%>>update-cuesheet.bat</pre><br />
<br />
Also, note that the example uses the "multiple WAVE files with gaps (non-compliant)" cuesheet as its source. This is the cuesheet that most users would require; however you can replace "@albumfile@.[mg].cue" with "@albumfile@.[m].cue" or "@albumfile@.[mc].cue" if you wish.<br />
<br />
<br />
'''Executing the batch file'''<br />
<br />
The following lines need to be added to the code which is run for the format you are using at the end of the config:<br />
<br />
<pre><br />
@tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat<br />
CALL update-cuesheet.bat<br />
DEL update-cuesheet.bat<br />
</pre><br />
<br />
Here they are in the WavPack section:<br />
<br />
<pre><br />
IF @Wavpack@==1 (<br />
PUSHD %TrackDir_Wavpack%<br />
IF %add_rg%==1 @tools@\wvgain.exe -a *.wv<br />
REM COPY /Y "@eaclog@" "EAClog.txt"<br />
@tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat<br />
CALL update-cuesheet.bat<br />
DEL update-cuesheet.bat<br />
POPD<br />
)<br />
</pre><br />
<br />
These three lines are universal, and can be added to any format's section with no need for change.<br />
<br />
<br />
'''Requirements'''<br />
<br />
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], and put the executable in your [[REACT]] tools directory.<br />
<br />
<br />
===Using GSAR For Other Requirements===<br />
<br />
If you will be using GSAR for other string replacement in your config, you may need to ensure that two characters are escaped before creating your GSAR command line.<br />
<br />
If you are dealing solely with filenames, as in the section above, you do not need to worry: these are both illegal filename characters and therefore cannot possibly raise an issue.<br />
<br />
'''If you are not dealing solely in filenames''', you will need to ensure that any double quotes (") and colons (:) are escaped. Double quotes may be escaped by replacing one instance with three (" -> """) or by replacing it with the correct character code (" -> :034 (decimal) or " -> :x22 (hex)). Colons should be escaped by prefixing with another colon. (: -> ::)<br />
<br />
<br />
E.g.: If your string is as follows:<br />
<br />
A Test: using "both" characters<br />
<br />
... any of the lines below may be used in its place:<br />
<br />
A Test:: using """both""" characters<br />
A Test:: using :034both:034 characters<br />
A Test:: using :x22both:x22 characters<br />
<br />
<br />
Below is some example code to escape an existing batch file variable, "myVar", before passing it to GSAR:<br />
<br />
<pre><br />
SET myVar=%myVar::=::%<br />
SET myVar=%myVar:"=:x22%<br />
<br />
@tools@\GSAR.EXE "-sSome Existing Text" "-r%myVar%" -o myfile.txt<br />
</pre><br />
<br />
====Using GSAR to Escape Percent Signs Written to Batch Files====<br />
<br />
When using a percent sign in your config it must be escaped like so: %%. This ensures that it is not mistaken for the beginning of a batch file variable (e.g.: %myVar%).<br />
<br />
If your config needs to create and execute a batch file on the fly, as the example in [[REACT:Amending_Cuesheet_File_References#Using_GSAR|Using GSAR]] does, you will need to re-escape any percent signs, as the act of writing the batch file will unescape any written.<br />
<br />
<br />
You can use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], before executing your batch file, to ensure that all percent signs written to the file are properly escaped.<br />
<br />
GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat<br />
<br />
This command will escape all percent signs (% -> %%) in the file "update-cuesheet.bat". The -o switch tells GSAR to overwrite the file, rather than write the amended text to a new file.<br />
<br />
<br />
==Using SED==<br />
<br />
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/sed.htm SED] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files. This is achieved in the following way:<br />
<br />
# Every time a track is processed a SED command, to replace that track's filename, is written to a temporary text file called "sedlist.txt".<br />
# When the last track is processed this file is passed to SED which executes each command on the cuesheet text, and writes the new text to a new cuesheet file named "$cdartist$ - $album$.cue".<br />
# The file "sedlist.txt" is deleted.<br />
<br />
<br />
'''Writing the SED commands for each track'''<br />
<br />
The following line needs to be added to the code which is run for the format you are using for each track:<br />
<br />
<pre>ECHO s/FILE "@basename@\.wav"/FILE "%TrackName%\.wv"/>>sedlist.txt</pre><br />
<br />
Here it is in the WavPack section:<br />
<br />
<pre><br />
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks<br />
IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%<br />
PUSHD %TrackDir_Wavpack%<br />
IF @various@==1 SET VA_tag=-w "album artist=@VA@"<br />
ECHO ON<br />
@tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist="@artist@" -w album="@album@" -w track="@track@/@numtracks@" -w title="@title@" -w year="@year@" -w genre="@genre@" -w comment="@comment@" -w encodedby="%USERNAME%" -w encodersettings="Wavpack @Ver_Wavpack@ @Opt_Wavpack@" "@source@" "%TrackName%.wv"<br />
ECHO s/FILE "@basename@\.wav"/FILE "%TrackName%\.wv"/>>sedlist.txt<br />
@ECHO OFF<br />
IF %have_cover%==1 IF NOT EXIST folder.jpg COPY "@cover@" folder.jpg<br />
TITLE @track@/@numtracks@ - "@album@"<br />
POPD<br />
:end_wavpack_tracks<br />
</pre><br />
<br />
Note that the extension ("wv") will need to be changed depending on the format that you are using. Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:<br />
<br />
<pre>ECHO s/FILE "@basename@\.wav" WAVE/FILE "%TrackName%\.mp3" MP3/>>sedlist.txt</pre><br />
<br />
<br />
'''Executing SED'''<br />
<br />
The following lines need to be added to the code which is run for the format you are using at the end of the config:<br />
<br />
<pre><br />
@tools@\SED -f sedlist.txt <"@albumfile@.[mg].cue" >"$cdartist$ - $album$.cue"<br />
DEL sedlist.txt<br />
</pre><br />
<br />
Here they are in the WavPack section:<br />
<br />
<pre><br />
IF @Wavpack@==1 (<br />
PUSHD %TrackDir_Wavpack%<br />
IF %add_rg%==1 @tools@\wvgain.exe -a *.wv<br />
REM COPY /Y "@eaclog@" "EAClog.txt"<br />
@tools@\SED -f sedlist.txt <"@albumfile@.[mg].cue" >"$cdartist$ - $album$.cue"<br />
DEL sedlist.txt<br />
POPD<br />
)<br />
</pre><br />
<br />
These two lines are universal, and can be added to any format's section with no need for change. Note though, that the example uses the "multiple WAVE files with gaps (non-compliant)" cuesheet as its source. This is the cuesheet that most users would require; however you can replace "@albumfile@.[mg].cue" with "@albumfile@.[m].cue" or "@albumfile@.[mc].cue" if you wish.<br />
<br />
'''Requirements'''<br />
<br />
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/sed.htm SED], including its dependencies ("libintl3.dll" and "libiconv2.dll"), and put all three files in your [[REACT]] tools directory.<br />
<br />
<br />
==Related Thread==<br />
This tip is a result of a string of posts between lipidicman and [[User:Synthetic Soul|Synthetic Soul]] in the [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 thread] beginning with [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=483839 this post].<br />
<br />
<br />
[[Category:REACT|Amending Cuesheet File References]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:Amending_Cuesheet_File_ReferencesREACT:Amending Cuesheet File References2008-01-18T03:23:13Z<p>Akkurat: Added "Using GSAR to other needs" instructions</p>
<hr />
<div>When using [[REACT]] to rip to individual tracks you can request all cuesheets to be created, by specifying the following in REACT.ini:<br />
<br />
<pre>CreateAllCuesheets=1</pre><br />
<br />
This will create the following files in the working directory:<br />
<br />
* '''"@albumfile@.[s].cue"''' (Single WAVE file)<br />
* '''"@albumfile@.[mg].cue"''' (Multiple WAVE files with gaps (non-compliant))<br />
* '''"@albumfile@.[m].cue"''' (Multiple WAVE files with gaps left out)<br />
* '''"@albumfile@.[mc].cue"''' (Multiple WAVE files with corrected gaps)<br />
<br />
<br />
The multi-file cuesheets will reference the tracks using the filename format set in [[EAC]], which should be "$cdartist$ - $album$ - $track$ - $title$" for standard albums, and specifying a ".wav" extension. However, this is unlikely to be the format that your track files are actually in, which means that the cuesheet will need to be amended in order to be useful.<br />
<br />
Below, you will find example code for two solutions, using two different tools. '''You are recommended to use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] for this purpose''', as certain special characters, e.g.: the ampersand, if used in your filenames, may cause problems when using [http://gnuwin32.sourceforge.net/packages/sed.htm SED].<br />
<br />
<br />
==Using GSAR==<br />
<br />
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files. This is achieved in the following way:<br />
<br />
# When the first track is processed the cuesheet will be copied to a new cuesheet file named "$cdartist$ - $album$.cue". Also a batch command to set the right code page is written to a temporary batch file called "update-cuesheet.bat".<br />
# Every time a track is processed, a GSAR command, to replace that track's filename, is written to the temporary batch file.<br />
# When the last track is processed, a GSAR command is executed to escape percent (%) characters in the temporary batch file.<br />
# After that, the temporary batch file is executed, executing a GSAR command for each track.<br />
# The file "update-cuesheet.bat" is deleted.<br />
<br />
<br />
'''Creating the GSAR commands for each track'''<br />
<br />
The following lines need to be added to the code which is run for the format you are using for each track:<br />
<br />
<pre><br />
SET trackCueFile="$cdartist$ - $album$.cue"<br />
IF NOT EXIST %trackCueFile% (<br />
COPY "@albumfile@.[mg].cue" %trackCueFile%<br />
ECHO CHCP 1252 ^| PROMPT>>update-cuesheet.bat<br />
)<br />
ECHO @tools@\GSAR.EXE "-s@basename@.wav" "-r%TrackName%.wv" -o %trackCueFile%>>update-cuesheet.bat</pre><br />
<br />
Here it is in the WavPack section:<br />
<br />
<pre><br />
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks<br />
IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%<br />
PUSHD %TrackDir_Wavpack%<br />
IF @various@==1 SET VA_tag=-w "album artist=@VA@"<br />
ECHO ON<br />
@tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist="@artist@" -w album="@album@" -w track="@track@/@numtracks@" -w title="@title@" -w year="@year@" -w genre="@genre@" -w comment="@comment@" -w encodedby="%USERNAME%" -w encodersettings="Wavpack @Ver_Wavpack@ @Opt_Wavpack@" "@source@" "%TrackName%.wv"<br />
@ECHO OFF<br />
SET trackCueFile="$cdartist$ - $album$.cue"<br />
IF NOT EXIST %trackCueFile% (<br />
COPY "@albumfile@.[mg].cue" %trackCueFile%<br />
ECHO CHCP 1252 ^| PROMPT>>update-cuesheet.bat<br />
)<br />
ECHO @tools@\GSAR.EXE "-s@basename@.wav" "-r%TrackName%.wv" -o %trackCueFile%>>update-cuesheet.bat<br />
IF %have_cover%==1 IF NOT EXIST folder.jpg COPY "@cover@" folder.jpg<br />
TITLE @track@/@numtracks@ - "@album@"<br />
POPD<br />
:end_wavpack_tracks<br />
</pre><br />
<br />
Note that the extension ("wv") will need to be changed depending on the format that you are using. Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:<br />
<br />
<pre>ECHO @tools@\GSAR.EXE "-s@basename@.wav""" WAVE" "-r%TrackName%.mp3""" MP3" -o %trackCueFile%>>update-cuesheet.bat</pre><br />
<br />
Also, note that the example uses the "multiple WAVE files with gaps (non-compliant)" cuesheet as its source. This is the cuesheet that most users would require; however you can replace "@albumfile@.[mg].cue" with "@albumfile@.[m].cue" or "@albumfile@.[mc].cue" if you wish.<br />
<br />
<br />
'''Executing the batch file'''<br />
<br />
The following lines need to be added to the code which is run for the format you are using at the end of the config:<br />
<br />
<pre><br />
@tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat<br />
CALL update-cuesheet.bat<br />
DEL update-cuesheet.bat<br />
</pre><br />
<br />
Here they are in the WavPack section:<br />
<br />
<pre><br />
IF @Wavpack@==1 (<br />
PUSHD %TrackDir_Wavpack%<br />
IF %add_rg%==1 @tools@\wvgain.exe -a *.wv<br />
REM COPY /Y "@eaclog@" "EAClog.txt"<br />
@tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat<br />
CALL update-cuesheet.bat<br />
DEL update-cuesheet.bat<br />
POPD<br />
)<br />
</pre><br />
<br />
These two lines are universal, and can be added to any format's section with no need for change.<br />
<br />
<br />
'''Requirements'''<br />
<br />
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], and put the executable in your [[REACT]] tools directory.<br />
<br />
<br />
'''Using GSAR to other needs'''<br />
<br />
If you're planning to use the GSAR to other string replacement needs, you must make sure to escape certain characters before running GSAR commands in batch files. The "Amending Cuesheet File References" example only needs the percent (%) and the quote (") character escapes. In addition there is one other character to escape, the colon (:).<br />
<br />
* The percent is escaped by replacing it with two percents (% -> %%).<br />
* The colon is escaped by replacing it with two colons (: -> ::).<br />
* The quote is escaped by replacing it with three quotes (" -> """) or ASCII decimal or hex value (" -> :034 (decimal) OR " -> :x22 (hex)).<br />
<br />
Examples for all three escapes below.<br />
<pre><br />
string= Test: a "perfect" %100 test<br />
escaped string= Test:: a """perfect:x22 %%100 test<br />
</pre><br />
And here's a couple of examples how to escape these characters in batch variables.<br />
<pre><br />
(variable %text%)<br />
<br />
SET text=%text::=::%<br />
SET text=%text:"=:x22%<br />
</pre><br />
Escaping the percent character is more complicated. You can't use previous example to escape it in batch variables. Study how this "Amending Cuesheet File References" guide escapes percent characters. Pay close attention to the following command which is meant to be used in a batch file:<br />
<pre><br />
GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat<br />
</pre><br />
This command replaces all percent characters with two percent characters in the update-cuesheet.bat file. The -o switch tells GSAR to overwrite the update-cuesheet.bat file.<br />
<br />
<br />
<br />
==Using SED==<br />
<br />
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/sed.htm SED] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files. This is achieved in the following way:<br />
<br />
# Every time a track is processed a SED command, to replace that track's filename, is written to a temporary text file called "sedlist.txt".<br />
# When the last track is processed this file is passed to SED which executes each command on the cuesheet text, and writes the new text to a new cuesheet file named "$cdartist$ - $album$.cue".<br />
# The file "sedlist.txt" is deleted.<br />
<br />
<br />
'''Writing the SED commands for each track'''<br />
<br />
The following line needs to be added to the code which is run for the format you are using for each track:<br />
<br />
<pre>ECHO s/FILE "@basename@\.wav"/FILE "%TrackName%\.wv"/>>sedlist.txt</pre><br />
<br />
Here it is in the WavPack section:<br />
<br />
<pre><br />
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks<br />
IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%<br />
PUSHD %TrackDir_Wavpack%<br />
IF @various@==1 SET VA_tag=-w "album artist=@VA@"<br />
ECHO ON<br />
@tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist="@artist@" -w album="@album@" -w track="@track@/@numtracks@" -w title="@title@" -w year="@year@" -w genre="@genre@" -w comment="@comment@" -w encodedby="%USERNAME%" -w encodersettings="Wavpack @Ver_Wavpack@ @Opt_Wavpack@" "@source@" "%TrackName%.wv"<br />
ECHO s/FILE "@basename@\.wav"/FILE "%TrackName%\.wv"/>>sedlist.txt<br />
@ECHO OFF<br />
IF %have_cover%==1 IF NOT EXIST folder.jpg COPY "@cover@" folder.jpg<br />
TITLE @track@/@numtracks@ - "@album@"<br />
POPD<br />
:end_wavpack_tracks<br />
</pre><br />
<br />
Note that the extension ("wv") will need to be changed depending on the format that you are using. Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:<br />
<br />
<pre>ECHO s/FILE "@basename@\.wav" WAVE/FILE "%TrackName%\.mp3" MP3/>>sedlist.txt</pre><br />
<br />
<br />
'''Executing SED'''<br />
<br />
The following lines need to be added to the code which is run for the format you are using at the end of the config:<br />
<br />
<pre><br />
@tools@\SED -f sedlist.txt <"@albumfile@.[mg].cue" >"$cdartist$ - $album$.cue"<br />
DEL sedlist.txt<br />
</pre><br />
<br />
Here they are in the WavPack section:<br />
<br />
<pre><br />
IF @Wavpack@==1 (<br />
PUSHD %TrackDir_Wavpack%<br />
IF %add_rg%==1 @tools@\wvgain.exe -a *.wv<br />
REM COPY /Y "@eaclog@" "EAClog.txt"<br />
@tools@\SED -f sedlist.txt <"@albumfile@.[mg].cue" >"$cdartist$ - $album$.cue"<br />
DEL sedlist.txt<br />
POPD<br />
)<br />
</pre><br />
<br />
These two lines are universal, and can be added to any format's section with no need for change. Note though, that the example uses the "multiple WAVE files with gaps (non-compliant)" cuesheet as its source. This is the cuesheet that most users would require; however you can replace "@albumfile@.[mg].cue" with "@albumfile@.[m].cue" or "@albumfile@.[mc].cue" if you wish.<br />
<br />
'''Requirements'''<br />
<br />
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/sed.htm SED], including its dependencies ("libintl3.dll" and "libiconv2.dll"), and put all three files in your [[REACT]] tools directory.<br />
<br />
<br />
==Related Thread==<br />
This tip is a result of a string of posts between lipidicman and [[User:Synthetic Soul|Synthetic Soul]] in the [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 thread] beginning with [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=483839 this post].<br />
<br />
<br />
[[Category:REACT|Amending Cuesheet File References]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:Amending_Cuesheet_File_ReferencesREACT:Amending Cuesheet File References2008-01-18T02:10:33Z<p>Akkurat: Added fixes to GSAR examples</p>
<hr />
<div>When using [[REACT]] to rip to individual tracks you can request all cuesheets to be created, by specifying the following in REACT.ini:<br />
<br />
<pre>CreateAllCuesheets=1</pre><br />
<br />
This will create the following files in the working directory:<br />
<br />
* '''"@albumfile@.[s].cue"''' (Single WAVE file)<br />
* '''"@albumfile@.[mg].cue"''' (Multiple WAVE files with gaps (non-compliant))<br />
* '''"@albumfile@.[m].cue"''' (Multiple WAVE files with gaps left out)<br />
* '''"@albumfile@.[mc].cue"''' (Multiple WAVE files with corrected gaps)<br />
<br />
<br />
The multi-file cuesheets will reference the tracks using the filename format set in [[EAC]], which should be "$cdartist$ - $album$ - $track$ - $title$" for standard albums, and specifying a ".wav" extension. However, this is unlikely to be the format that your track files are actually in, which means that the cuesheet will need to be amended in order to be useful.<br />
<br />
Below, you will find example code for two solutions, using two different tools. '''You are recommended to use [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] for this purpose''', as certain special characters, e.g.: the ampersand, if used in your filenames, may cause problems when using [http://gnuwin32.sourceforge.net/packages/sed.htm SED].<br />
<br />
<br />
==Using GSAR==<br />
<br />
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files. This is achieved in the following way:<br />
<br />
# When the first track is processed the cuesheet will be copied to a new cuesheet file named "$cdartist$ - $album$.cue". Also a batch command to set the right code page is written to a temporary batch file called "update-cuesheet.bat".<br />
# Every time a track is processed, a GSAR command, to replace that track's filename, is written to the temporary batch file.<br />
# When the last track is processed, a GSAR command is executed to escape percent (%) characters in the temporary batch file.<br />
# After that, the temporary batch file is executed, executing a GSAR command for each track.<br />
# The file "update-cuesheet.bat" is deleted.<br />
<br />
<br />
'''Creating the GSAR commands for each track'''<br />
<br />
The following lines need to be added to the code which is run for the format you are using for each track:<br />
<br />
<pre><br />
SET trackCueFile="$cdartist$ - $album$.cue"<br />
IF NOT EXIST %trackCueFile% (<br />
COPY "@albumfile@.[mg].cue" %trackCueFile%<br />
ECHO CHCP 1252 ^| PROMPT>>update-cuesheet.bat<br />
)<br />
ECHO @tools@\GSAR.EXE "-s@basename@.wav" "-r%TrackName%.wv" -o %trackCueFile%>>update-cuesheet.bat</pre><br />
<br />
Here it is in the WavPack section:<br />
<br />
<pre><br />
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks<br />
IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%<br />
PUSHD %TrackDir_Wavpack%<br />
IF @various@==1 SET VA_tag=-w "album artist=@VA@"<br />
ECHO ON<br />
@tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist="@artist@" -w album="@album@" -w track="@track@/@numtracks@" -w title="@title@" -w year="@year@" -w genre="@genre@" -w comment="@comment@" -w encodedby="%USERNAME%" -w encodersettings="Wavpack @Ver_Wavpack@ @Opt_Wavpack@" "@source@" "%TrackName%.wv"<br />
@ECHO OFF<br />
SET trackCueFile="$cdartist$ - $album$.cue"<br />
IF NOT EXIST %trackCueFile% (<br />
COPY "@albumfile@.[mg].cue" %trackCueFile%<br />
ECHO CHCP 1252 ^| PROMPT>>update-cuesheet.bat<br />
)<br />
ECHO @tools@\GSAR.EXE "-s@basename@.wav" "-r%TrackName%.wv" -o %trackCueFile%>>update-cuesheet.bat<br />
IF %have_cover%==1 IF NOT EXIST folder.jpg COPY "@cover@" folder.jpg<br />
TITLE @track@/@numtracks@ - "@album@"<br />
POPD<br />
:end_wavpack_tracks<br />
</pre><br />
<br />
Note that the extension ("wv") will need to be changed depending on the format that you are using. Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:<br />
<br />
<pre>ECHO @tools@\GSAR.EXE "-s@basename@.wav""" WAVE" "-r%TrackName%.mp3""" MP3" -o %trackCueFile%>>update-cuesheet.bat</pre><br />
<br />
Also, note that the example uses the "multiple WAVE files with gaps (non-compliant)" cuesheet as its source. This is the cuesheet that most users would require; however you can replace "@albumfile@.[mg].cue" with "@albumfile@.[m].cue" or "@albumfile@.[mc].cue" if you wish.<br />
<br />
<br />
'''Executing the batch file'''<br />
<br />
The following lines need to be added to the code which is run for the format you are using at the end of the config:<br />
<br />
<pre><br />
@tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat<br />
CALL update-cuesheet.bat<br />
DEL update-cuesheet.bat<br />
</pre><br />
<br />
Here they are in the WavPack section:<br />
<br />
<pre><br />
IF @Wavpack@==1 (<br />
PUSHD %TrackDir_Wavpack%<br />
IF %add_rg%==1 @tools@\wvgain.exe -a *.wv<br />
REM COPY /Y "@eaclog@" "EAClog.txt"<br />
@tools@\GSAR.EXE -s%% -r%%%% -o update-cuesheet.bat<br />
CALL update-cuesheet.bat<br />
DEL update-cuesheet.bat<br />
POPD<br />
)<br />
</pre><br />
<br />
These two lines are universal, and can be added to any format's section with no need for change.<br />
<br />
'''Requirements'''<br />
<br />
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/gsar.htm GSAR], and put the executable in your [[REACT]] tools directory.<br />
<br />
<br />
==Using SED==<br />
<br />
The additional config code below uses the GNU tool [http://gnuwin32.sourceforge.net/packages/sed.htm SED] to parse the cuesheet created by [[EAC]], and create a new cuesheet referencing the correctly-named files. This is achieved in the following way:<br />
<br />
# Every time a track is processed a SED command, to replace that track's filename, is written to a temporary text file called "sedlist.txt".<br />
# When the last track is processed this file is passed to SED which executes each command on the cuesheet text, and writes the new text to a new cuesheet file named "$cdartist$ - $album$.cue".<br />
# The file "sedlist.txt" is deleted.<br />
<br />
<br />
'''Writing the SED commands for each track'''<br />
<br />
The following line needs to be added to the code which is run for the format you are using for each track:<br />
<br />
<pre>ECHO s/FILE "@basename@\.wav"/FILE "%TrackName%\.wv"/>>sedlist.txt</pre><br />
<br />
Here it is in the WavPack section:<br />
<br />
<pre><br />
IF NOT @Wavpack@==1 GOTO end_wavpack_tracks<br />
IF NOT EXIST %TrackDir_Wavpack% MKDIR %TrackDir_Wavpack%<br />
PUSHD %TrackDir_Wavpack%<br />
IF @various@==1 SET VA_tag=-w "album artist=@VA@"<br />
ECHO ON<br />
@tools@\wavpack.exe @Opt_Wavpack@ %VA_tag% -w artist="@artist@" -w album="@album@" -w track="@track@/@numtracks@" -w title="@title@" -w year="@year@" -w genre="@genre@" -w comment="@comment@" -w encodedby="%USERNAME%" -w encodersettings="Wavpack @Ver_Wavpack@ @Opt_Wavpack@" "@source@" "%TrackName%.wv"<br />
ECHO s/FILE "@basename@\.wav"/FILE "%TrackName%\.wv"/>>sedlist.txt<br />
@ECHO OFF<br />
IF %have_cover%==1 IF NOT EXIST folder.jpg COPY "@cover@" folder.jpg<br />
TITLE @track@/@numtracks@ - "@album@"<br />
POPD<br />
:end_wavpack_tracks<br />
</pre><br />
<br />
Note that the extension ("wv") will need to be changed depending on the format that you are using. Additionally, if you are using MP3, you will need to use the following line instead, which correctly changes the file type to MP3 from WAVE:<br />
<br />
<pre>ECHO s/FILE "@basename@\.wav" WAVE/FILE "%TrackName%\.mp3" MP3/>>sedlist.txt</pre><br />
<br />
<br />
'''Executing SED'''<br />
<br />
The following lines need to be added to the code which is run for the format you are using at the end of the config:<br />
<br />
<pre><br />
@tools@\SED -f sedlist.txt <"@albumfile@.[mg].cue" >"$cdartist$ - $album$.cue"<br />
DEL sedlist.txt<br />
</pre><br />
<br />
Here they are in the WavPack section:<br />
<br />
<pre><br />
IF @Wavpack@==1 (<br />
PUSHD %TrackDir_Wavpack%<br />
IF %add_rg%==1 @tools@\wvgain.exe -a *.wv<br />
REM COPY /Y "@eaclog@" "EAClog.txt"<br />
@tools@\SED -f sedlist.txt <"@albumfile@.[mg].cue" >"$cdartist$ - $album$.cue"<br />
DEL sedlist.txt<br />
POPD<br />
)<br />
</pre><br />
<br />
These two lines are universal, and can be added to any format's section with no need for change. Note though, that the example uses the "multiple WAVE files with gaps (non-compliant)" cuesheet as its source. This is the cuesheet that most users would require; however you can replace "@albumfile@.[mg].cue" with "@albumfile@.[m].cue" or "@albumfile@.[mc].cue" if you wish.<br />
<br />
'''Requirements'''<br />
<br />
You will need to download the Windows version of [http://gnuwin32.sourceforge.net/packages/sed.htm SED], including its dependencies ("libintl3.dll" and "libiconv2.dll"), and put all three files in your [[REACT]] tools directory.<br />
<br />
<br />
==Related Thread==<br />
This tip is a result of a string of posts between lipidicman and [[User:Synthetic Soul|Synthetic Soul]] in the [http://www.hydrogenaudio.org/forums/index.php?showtopic=50273 REACT 2 thread] beginning with [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=483839 this post].<br />
<br />
<br />
[[Category:REACT|Amending Cuesheet File References]]</div>Akkurathttps://wiki.hydrogenaud.io/index.php?title=REACT:Creating_A_PlaylistREACT:Creating A Playlist2008-01-12T10:33:00Z<p>Akkurat: Workaround for %-chars disappearing from the playlist filename when using tag.exe</p>
<hr />
<div>Please see [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=462691 this post] and [http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=50273&view=findpost&p=462792 this post].<br />
<br />
Expanding upon the second link, you can generate an M3U list in your target directory by including lines similar to this:<br />
<br />
<pre>@tools@\Tag.exe --playlist --sort track --a-artist "@cdartist@" --a-title "@album@" --plname temp.m3u *.flac<br />
REM ** Workaround for %-chars disappearing from the playlist filename when using tag.exe.<br />
REN temp.m3u "$artist$ - $album$.m3u"</pre><br />
<br />
Though of course you'll need Tag.exe. [http://synthetic-soul.co.uk/tag]. Replace "flac" with the appropriate format where necessary. Put these lines in the post-processing section of tracks.cfg (where it may copy the log and where it applies the album gain).<br />
<br />
<br />
For AAC tracks, you may have to use different lines:<br />
<br />
<pre>@tools@\Tag.exe --playlist --nocheck --a-artist "@cdartist@" --a-title "@album@" --plname temp.m3u *.m4a<br />
REM ** Workaround for %-chars disappearing from the playlist filename when using tag.exe.<br />
REN temp.m3u "$artist$ - $album$.m3u"</pre><br />
<br />
We use the addition of "--nocheck" to force a playlist without extended information, since the latest TAG original will not read m4a tracks.<br />
<br />
[[Category:REACT|Creating A Playlist]]</div>Akkurat