Help - Search - Members - Calendar
Full Version: REACT 2 Released
Hydrogenaudio Forums > Hydrogenaudio Forum > Validated News
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28
Synthetic Soul
REACT 2.0 is not backward compatible with version 1.0. This version is more powerful, easier to use and configure. It uses only two configuration scripts: REACT-image.cfg, and REACT-track.cfg. Image mode (F10) is recommended, as it may be used for creating both an image and tracks, and is a little more robust. With Nyaochi's excellent ACDIR, it will split the image to tracks while encoding. You can pick and choose from which formats you want by only editing a few characters in the .cfg file. See examples below.

NEWS
  • Only one configuration file for each mode (image/track).
  • Simpler user-configuration, located in first section of .cfg file (Alt-F3).
  • Built-in support for CoverDownloader (albumart.exe). Runs when hitting F10/F4. Alt-F10 for CoverDownloader only.
  • Adds cover pictures to FLAC (with 1.1.3beta) and MP3 by using my new tool, metamp3.exe
  • Optionally scans and tags ReplayGain for all formats. May also apply album gain on MP3/AAC files.
  • Writes ID3v2.3 ReplayGain tags on MP3's (Winamp/Foobar compatible), via metamp3.exe
  • Should fix random REACT exiting, reported by some users.
  • User may now minimize EAC while ripping (EAC will auto-restore when ripping done, and save log).
  • Accepts both "Various" and "Various Artists" as compilation disk.
  • If CreateAllCuesheets=1 is set in INI file, and EAC is set up to extract to a fixed directory, REACT will save all types of cuesheets when hitting F4/F10. Cuesheets can be accessed from scripts by @albumfile@ variable. E.g. "@albumfile@.[mg].cue"
  • The (unsafe) @islast@ variable for track mode is not supported anymore. Use @track@==@numtracks@ test instead, or image mode.
FEATURES
The wiki has more info : http://wiki.hydrogenaudio.org/index.php?title=REACT

More information and download in the thread REACT 2, EAC plugin
Xenion
i'm new to this tool. is it possible to rip as image, then replaygain, write this replaygain information to the cuesheet and then encode wavpack with embedded cue and log ?
tycho
If you rip as image, you may encode to either a wavpack image or to wavpack tracks.

For tracks, set ImageExt=wav in REACT.ini and Wavpack=1 in REACT-image.cfg.
For image, set ImageExt=wv in REACT.ini and Wavpack=0 in REACT-image.cfg. It will embed both cuesheet and log file as tags in the image. For wv-images, REACT (wvgain actually) can only compute album gain (not track gain for individual tracks). Replaygain will be stored as tags in the image file only - not in the cuesheet.

However, if you encode to wavpack tracks, it will compute both album and track gain values and tag them to the track files. Make sure ReplayGain=1 in the .cfg file.

edit: just realized that for wavpack images, no replaygain computation is done. You will have to add
if %ReplayGain%==1 @tools@\wvgain.exe -a "@image@"
after the wavpack.exe call in the .cfg file.
drbeachboy
Hi Tycho,

With embedded cuesheets (Especially with FLAC), foobar2000 rewrites (the embedded cuesheet) all the track PERFORMER's to "Various" if you use "-T artist="@artist@"" tag on Various Artists images. Replacing the ARTIST tag with the ALBUM ARTIST tag would fix this problem.

Is it possible to set up 2 scenarios in the config file; one for regular images (with ARTIST tag) and one for VA's (with ALBUM ARTIST tag)?


Thanks,

Dirk
Synthetic Soul
QUOTE(drbeachboy @ Nov 17 2006, 17:12) *
Hi Tycho,

With embedded cuesheets (Especially with FLAC), foobar2000 rewrites (the embedded cuesheet) all the track PERFORMER's to "Various" if you use "-T artist="@artist@"" tag on Various Artists images. Replacing the ARTIST tag with the ALBUM ARTIST tag would fix this problem.

Is it possible to set up 2 scenarios in the config file; one for regular images (with ARTIST tag) and one for VA's (with ALBUM ARTIST tag)?
This has only come to my attention recently, possibly due to behavioural changes in foobar 0.9, or possibly that I generally use ACDIR in my REACT script. It is a reasonable issue really, considering REACT and foobar's userbase.

I would certainly favour using ARTIST or ALBUM ARTIST depending on the situation. It seems that this could be done using something like:

CODE
if @various@==0 set ArtistField=artist
if @various@==1 set ArtistField=album artist
...
@tools@\flac.exe %Flac_opt% %Flac_RG% %Flac_RG% %Flac_cover% -T "%ArtistField%=@cdartist@" -T album="@album@"...
...
@tools@\wavpack.exe %Wavpack_opt% -w "%ArtistField%=@cdartist@" -w album="@album@"...

... possibly.

Also note the use of @cdartist@ and not @artist@.

valnar
You know, I never had to uninstall REACT v1.0. How do you do it? Just delete the folder?

Robert
Keykey
I am a total newbie to REACT, sorry.

How do I get it to make a FLAC CDImage and loose mp3s? crying.gif

Waht should I change and how?

Greetz
Gow
Awesome release. Keep up the good work.
wolfsong
Can't wait to try this release tonight when I get home.

I'm also wondering can the disc ID be saved to a tag?
HbG
Just set it up to work with flake and metaflac for adding the cuesheet. Works beautifully. React rocks!
hanning
It seems that the following section in REACT-image.cfg is failing if @cover@ is containing a closing parenthesis, ")":

CODE
if exist "@cover@" (
    set Flac_cover=--picture="|image/jpeg|||@cover@"
    set MetaFlac_cover=--import-picture="|image/jpeg|||@cover@"
    set MetaMP3_cover=--pict "{3}@cover@"
    set AacTag_cover_acdir=-add-cover:front:$q@cover@$q
    set add_cover=1
    set add_meta=1
)


It fails silently on the "set AacTag_cover_acdir=..." line as the closing parenthesis in @cover@ isn't inside a "quoted string". The following code seems to work around the issue:

CODE
if not exist "@cover@" goto end_cover
    set Flac_cover=--picture="|image/jpeg|||@cover@"
    set MetaFlac_cover=--import-picture="|image/jpeg|||@cover@"
    set MetaMP3_cover=--pict "{3}@cover@"
    set AacTag_cover_acdir=-add-cover:front:$q@cover@$q
    set add_cover=1
    set add_meta=1
:end_cover


I hope this helps. Thanks for a great tool!
wolfsong
So I just tried it out and like the new config but I have some questions.

QUOTE(Synthetic Soul @ Nov 17 2006, 01:53) *

[*]Accepts both "Various" and "Various Artists" as compilation disk.

How do I get:

CODE
\Various Artist\$album$

when EAC only uses Various? The wiki mentions @Various-destN@ but I have no idea how to use it. Thanks.
Synthetic Soul
QUOTE(Keykey @ Nov 17 2006, 20:39) *
I am a total newbie to REACT, sorry.
We are all noobs to v2.0, which has a very different format to v1, so I'm afraid we're all in the same position. smile.gif Take a look at the readme and experiment.

QUOTE(wolfsong @ Nov 17 2006, 23:38) *
I'm also wondering can the disc ID be saved to a tag?
Isn't that the @freedbid@ token? I think it is...

QUOTE(wolfsong @ Nov 18 2006, 06:54) *
How do I get:

CODE
\Various Artist\$album$

when EAC only uses Various? The wiki mentions @Various-destN@ but I have no idea how to use it.
Sorry wolfsong, I forget: do you use images or tracks?

In REACT-image.cfg you have lines like:

set Flac_ImageDir=%OutRoot%\Flac-Images\$cdartist$

You could add somewhere (soon) below this something like:

IF @various@==1 set Flac_ImageDir=%OutRoot%\Flac-Images\Various Artists
drbeachboy
I also found the tag lines for embedding the cuesheet & eaclog in FLAC incorrect. You need to change the tag line to: "--tag-from-file" instead of "-T".
wolfsong
QUOTE(Synthetic Soul @ Nov 18 2006, 03:49) *

QUOTE(wolfsong @ Nov 17 2006, 23:38) *
I'm also wondering can the disc ID be saved to a tag?
Isn't that the @freedbid@ token? I think it is...
Actually I should have been more specific. I meant the TOC which I don't think is the same as @freedbid@.
QUOTE(Synthetic Soul @ Nov 18 2006, 03:49) *
Sorry wolfsong, I forget: do you use images or tracks?

I had been using images to get AG (never figured out how to do this in v1) and just deleting the image files. Now I just need tracks.
tycho
Thanks for all the great feedback. I have uploaded a new beta:
beta 2:
  • Fixed problem with AAC cover tag (thx hanning)
  • Fixed flac file tagging from file - now uses --tag-from-file (thx drbeachboy)
  • Sets either "album" or "album artist" tag on images, depending on @various@ (thx drbeachboy and synthetic soul)
  • Adds "album artist" tag to track files on various-artists albums (in addition to artist).
  • Using new variable %AlbumArtist%. Default to "Album Artist" for various-artists albums.
  • Added "encoded-by" tag for flac and vorbis
Note that REACT.exe is unchanged (version change only). The modifications are in the .cfg files only.

@wolfsong: What TOC are you talking about? The cuesheet is a kind of a TOC. @freedbid@ is the freedb id number.
wolfsong
QUOTE(tycho @ Nov 18 2006, 19:08) *

@wolfsong: What TOC are you talking about? The cuesheet is a kind of a TOC. @freedbid@ is the freedb id number.

I thought there was a unique disc ID or TOC from the CD that I could tag. From my understanding the freedb id is generated by freedb.
tycho
AFAIK, there is no explicit ID stored on the CD, but freedb can generate a (fairly) unique id from the table of content (TOC) of CD, which it uses for lookup in the database. The TOC itself is basically the info in the raw cuesheet (without titles/names).
wolfsong
QUOTE(tycho @ Nov 19 2006, 04:15) *

AFAIK, there is no explicit ID stored on the CD, but freedb can generate a (fairly) unique id from the table of content (TOC) of CD, which it uses for lookup in the database. The TOC itself is basically the info in the raw cuesheet (without titles/names).

hmmm for some reason I though the TOC itself could be tagged and there was a specific frame for this
bhoar
QUOTE(wolfsong @ Nov 19 2006, 08:42) *
hmmm for some reason I though the TOC itself could be tagged and there was a specific frame for this


Me too... Catalog Number?

Ah: http://digitalx.org/cuesheetsyntax.php

-brendan
spoon
There is ISRC (International Standards Recoding Code per track stored in the sub-codes) and UPC (universal product code per disc). Both of these are optional and are not implemented anywhere near 50% of cds.
sdgenxr
Thanks for the great release tycho! This version is much easier to configure and run.

My question, for anyone, is how can I have REACT run the post-processing when there is a data track. And how can I have it encode even when I have read errors?

Thanks!
tycho
QUOTE(sdgenxr @ Nov 19 2006, 20:44) *

My question, for anyone, is how can I have REACT run the post-processing when there is a data track.
Unfortunately, this is not possible with this release. Actually, it only worked sometimes in REACT 1, so I removed the support for @islast@. Instead, you can extract using image mode. It will split the image into tracks while encoding. This will give the same result as EAC track mode (but you always get all tracks on the CD).
QUOTE(sdgenxr @ Nov 19 2006, 20:44) *

And how can I have it encode even when I have read errors?
As long as you are able to rip the image (even with read errors), it will encode, so I'm not sure what you mean here.

Cheers.
TomGroove
smile.gif excellent, I like the new version. Struggled a little bit at the beginning as I copied over the cfg to EAC dir, and wondered, why it was not used until I changed than the cfg within react 2 directory cool.gif

how can I use the album cover downloader, where do I have to download the cover to ?.. it comes up with a jpg list and I guess, that I have to define than the relevant directory ??

edit: so the problem was probably related to not finding the cover at all of the latest Renaissance mix...
wolfsong
I'm having a problem with CoverArtDownloader. It seems to not use the filename specified in the settings and instead does something like ImageDir.jpg.

Also, could a hotkey option be added to launch CAD manually with the values passed?
tycho
The coverdownloader will fill in a name <destdir>\<album>.jpg. You should not change this name! Simply save it to the suggested directory/file name (Doubleclick on the cover you want). The .cfg script will then take care of copying it to the folder where the encoded audio will be stored, and change name to e.g. folder.jpg.

The destination directory you set up in EAC is only a temporary directory - the files are copied/moved to the final destinations by the script.

If you don't find all covers you expect, rename some of the files in the coverdownloader\scripts directory from "<name>.boo.disabled" to "<name>.boo". Try google.boo and discogs.boo. itunes.boo does unfortunately not work anylonger.

There is already a hotkey for only launching coverdownloader (mentioned in Readme): Alt-F10
wolfsong
QUOTE(tycho @ Nov 20 2006, 12:48) *

The coverdownloader will fill in a name <destdir>\<album>.jpg. You should not change this name! Simply save it to the suggested directory/file name (Doubleclick on the cover you want). The .cfg script will then take care of copying it to the folder where the encoded audio will be stored, and change name to e.g. folder.jpg.

The destination directory you set up in EAC is only a temporary directory - the files are copied/moved to the final destinations by the script.

Ahhhh Good to know.
QUOTE(tycho @ Nov 20 2006, 12:48) *

There is already a hotkey for only launching coverdownloader (mentioned in Readme): Alt-F10

I Thought I had read that somewhere but didn't see it in the ini so I didn't find it the again. Thanks.
wolfsong
QUOTE(tycho @ Nov 20 2006, 12:48) *

The destination directory you set up in EAC is only a temporary directory - the files are copied/moved to the final destinations by the script.

I tested this again this morning and this step isn't happening. The cover and log file are still in the EAC directory when using track config and deleted when using image config.

Track Config:
CODE
@echo off
chcp 1252
title @track@/@numtracks@ - "@album@"

rem ** You may consider using image mode (F10)
rem ** as it supports creating tracks via acdir.exe,
rem ** and post-processing will always work (see below).


REM ================== USER SETTINGS ======================


REM ---- Enable/disable track formats:

rem ** Flac requires flac.exe/metaflac.exe (v1.1.3)
rem ** NeroAac requires NeroAacEnc.exe/NeroAacTag.exe/AacGain.exe.
rem ** OggEnc2 requires OggEnc2.exe/VorbisGain.exe.

set Flac=0
set Wavpack=0
set LameMP3=1
set NeroAac=0
set OggEnc2=0

REM ---- General settings:

set Debug=0

rem ** I prefer applying album gain 92dB to get a reasonable
rem ** volume for my DAP. The RG tags are still relative
rem ** to 89dB SPL, i.e. album gain will be about -3.0dB.

set ReplayGain=1
set ApplyMp3AacAlbumGain=1
set AdjustMp3AacAlbumGain_dB=+0.0

REM ---- Encoder options:

set Flac_opt=-5 -f
set Wavpack_opt=-hmy
set LameMP3_opt=-V4 --vbr-new --noreplaygain --nohist
rem ** Nero LC-AAC @ ~ 90kbps - great for e.g. iPods:
set NeroAac_opt=-lc -q 0.22
set OggEnc2_opt=-q 3.0

set Flac_ver=1.1.3b2
set LameMP3_ver=3.97
set NeroAac_ver=1.0.0.2

REM ---- Output directories and track names:

set OutRoot=E:\TAGZ

rem ** Track dirs:
set Flac_TrackDir=%OutRoot%\Flac\$cdartist$\[$year$] $album$
set Wavpack_TrackDir=%OutRoot%\Wavpack\$cdartist$\[$year$] $album$
set MP3_TrackDir=%OutRoot%\$cdartist$\$album$
IF @various@==1 set MP3_TrackDir=%OutRoot%\Various Artists\$album$
set AAC_TrackDir=%OutRoot%\AAC\$cdartist$\[$year$] $album$
set OGG_TrackDir=%OutRoot%\OGG\$cdartist$\[$year$] $album$

rem ** Track names:
if @various@==0 set TrackName=[$track$] $title$
if @various@==1 set TrackName=[$track$] $title$ ($artist$)


REM ============== BEGIN MAIN SCRIPT ==================


if %Debug%==1 echo on


REM ---- Track ----


if %Flac%==0 goto end_flac_tracks
set dest=%Flac_TrackDir%
if not exist "%dest%" mkdir "%dest%"
@tools@\flac.exe %Flac_opt% -T artist="@artist@" -T album="@album@" -T tracknumber="@track@/@numtracks@" -T title="@title@" -T date="@year@" -T genre="@genre@" -T comment="Ripped with EAC/REACT" "@source@" -o "%dest%\%TrackName%.flac"
:end_flac_tracks


if %Wavpack%==0 goto end_wavpack_tracks
set dest=%Wavpack_TrackDir%
if not exist "%dest%" mkdir "%dest%"
@tools@\wavpack.exe %Wavpack_opt% -w artist="@artist@" -w album="@album@" -w track="@track@/@numtracks@" -w title="@title@" -w year="@year@" -w genre="@genre@" -w comment="Ripped with EAC/REACT" "@source@" "%dest%\%TrackName%.wv"
title @track@/@numtracks@ - "@album@"
:end_wavpack_tracks


if %LameMP3%==0 goto end_mp3_tracks
set dest=%MP3_TrackDir%
if not exist "%dest%" mkdir "%dest%"
@tools@\lame.exe %LameMP3_opt% "@source@" "%dest%\%TrackName%.mp3"
@tools@\metamp3.exe --artist "@artist@" --album "@album@" --track @track@/@numtracks@ --title "@title@" --year "@year@" --genre "@genre@" --comment "Ripped with EAC/REACT" --frame TPE2:"@cdartist@" --frame TENC:"%USERNAME%" --frame TSSE:"LAME %LameMP3_ver% %LameMP3_opt%" "%dest%\%TrackName%.mp3"
:end_mp3_tracks


if %NeroAac%==0 goto end_aac_tracks
set dest=%AAC_TrackDir%
if not exist "%dest%" mkdir "%dest%"
@tools@\neroAacEnc.exe %NeroAac_opt% -if "@source@" -of "%dest%\%TrackName%.m4a"
@tools@\neroAacTag.exe "%dest%\%TrackName%.m4a" -meta:artist="@artist@" -meta:album="@album@" -meta:track=@track@ -meta:totaltracks=@numtracks@ -meta:title="@title@" -meta:year="@year@" -meta:genre="@genre@" -meta:comment="Ripped with EAC/REACT"
:end_aac_tracks


if %OggEnc2%==0 goto end_ogg_tracks
set dest=%OGG_TrackDir%
if not exist "%dest%" mkdir "%dest%"
@tools@\oggenc2.exe %OggEnc2_opt% -c artist="@artist@" -c album="@album@" -c tracknumber="@track@/@numtracks@" -c title="@title@" -c date="@year@" -c genre="@genre@" -c comment="Ripped with EAC/REACT" "@source@" -o "%dest%\%TrackName%.ogg"
:end_ogg_tracks


rem ** Delete the source .wav

del "@source@"


REM ---- Post-processing ----


rem ** Scan and compute ReplayGain and add cover picture for supported formats.
rem **
rem ** NB: The following will only work if at least the last track is selected,
rem ** and it is a regular audio track.

if not @track@==@numtracks@ goto end_post_process

set add_rg=%ReplayGain%
set add_meta=%add_rg%
set add_cover=0
set small_cover=@cover@

if %ReplayGain%==1 (
set MetaFlac_RG=--add-replay-gain
set MetaMp3_RG=--replay-gain
)
if %ApplyMp3AacAlbumGain%==1 (
set AacGain_RG=/a /o /c /d %AdjustMp3AacAlbumGain_dB%
set MetaMP3_RG=--apply-gain album%AdjustMp3AacAlbumGain_dB%
set add_rg=1
set add_meta=1
)
if exist "@cover@" (
set MetaFlac_cover=--import-picture="|image/jpeg|||@cover@"
set MetaMP3_cover=--pict "{3}@cover@"
set AacTag_cover=-add-cover:front:"@cover@"
set add_cover=1
set add_meta=1
)


rem ** Formats:

if %Flac%==1 (
pushd "%Flac_TrackDir%"
if %add_meta%==1 @tools@\Glob.exe -v -c @tools@\metaflac.exe %MetaFlac_RG% %MetaFlac_cover% *.flac
if exist "@eaclog@" copy "@eaclog@" "EAClog.txt"
if %add_cover%==1 copy "@cover@" "folder.jpg"
popd
)

if %Wavpack%==1 (
pushd "%Wavpack_TrackDir%"
if %ReplayGain%==1 @tools@\wvgain.exe -a *.wv
if exist "@eaclog@" copy "@eaclog@" "EAClog.txt"
if %add_cover%==1 copy "@cover@" "folder.jpg"
popd
)

if %LameMP3%==1 (
pushd "%MP3_TrackDir%"
if %add_meta%==1 @tools@\metamp3.exe %MetaMP3_RG% %MetaMP3_cover% *.mp3
popd
)

if %NeroAac%==1 (
pushd "%AAC_TrackDir%"
if %add_cover%==1 for %%i in (*.m4a) do @tools@\neroAacTag.exe "%%i" %AacTag_cover%
if %add_rg%==1 @tools@\aacgain.exe %AacGain_RG% *.m4a > "gainlog.txt"
popd
)

if %OggEnc2%==1 (
pushd "%OGG_TrackDir%"
if %ReplayGain%==1 @tools@\vorbisgain.exe -a *.ogg
popd
)


rem ** Cleanup

del "@eaclog@"
del "@albumfile@.[*].cue"
del "@cover@"
:end_post_process


REM ================ END MAIN SCRIPT ===================


if %Debug%==1 (
pause
REM exit
)

rem ** Delete this .bat file:
del %0

Image Config:
CODE
@echo off
chcp 1252
title REACT - "@album@"


REM ================== USER SETTINGS ======================


rem ** To archive a CD as one large "image", you must set
rem ** ImageExt=... in the REACT.ini file (Press Alt-F2).
rem ** This will set the @imageext@ variable. Extensions
rem ** currently supported: flac, wv, mp3. Set to 'wav'
rem ** for no image archiving (default).

REM ---- Enable/disable additional track formats:

rem ** Splits the wav-image into tracks during encoding, using ACDIR.
rem ** Flac requires flac.exe/metaflac.exe (v1.1.3)
rem ** NeroAac requires NeroAacEnc.exe/NeroAacTag.exe/AacGain.exe.
rem ** OggEnc2 requires OggEnc2.exe/VorbisGain.exe.

set Flac=0
set Wavpack=0
set LameMP3=1
set NeroAac=0
set OggEnc2=0

REM ---- General settings ----

set Debug=0

rem ** I prefer applying album gain 92dB to get a reasonable
rem ** volume for my DAP. The RG tags are still relative
rem ** to 89dB SPL, i.e. album gain will be about -3.0dB.

set ReplayGain=1
set ApplyMp3AacAlbumGain=1
set AdjustMp3AacAlbumGain_dB=+0.0

REM ---- Encoder options ----

set Flac_opt=-5 -f
set Wavpack_opt=-hmy
set LameMP3_opt=-V4 --vbr-new --noreplaygain --nohist
rem ** Nero LC-AAC @ ~ 90kbps - great for e.g. iPods:
set NeroAac_opt=-lc -q 0.22
set OggEnc2_opt=-q 3.0

set Flac_ver=1.1.3b2
set LameMP3_ver=3.97
set NeroAac_ver=1.0.0.2

REM ---- Output directories and track names ----

set OutRoot=E:\TAGZ

rem ** Image dirs:
set Flac_ImageDir=%OutRoot%\Flac-Images\$cdartist$
set Wavpack_ImageDir=%OutRoot%\Wavpack-Images\$cdartist$
set MP3_ImageDir=%OutRoot%\MP3-Images\$cdartist$

rem ** Track dirs:
set Flac_TrackDir=%OutRoot%\Flac\$cdartist$\[$year$] $album$
set Wavpack_TrackDir=%OutRoot%\Wavpack\$cdartist$\[$year$] $album$
set MP3_TrackDir=%OutRoot%\$cdartist$\$album$
IF @various@==1 set MP3_TrackDir=%OutRoot%\Various Artists\$album$
set AAC_TrackDir=%OutRoot%\AAC\$cdartist$\[$year$] $album$
set OGG_TrackDir=%OutRoot%\OGG\$cdartist$\[$year$] $album$

rem ** Track names (for ACDIR):
if @various@==0 set TrackName=[$n] $~t
if @various@==1 set TrackName=[$n] $~t ($~a)


REM ============== BEGIN MAIN SCRIPT ==================


if %Debug%==1 echo on

set add_rg=%ReplayGain%
set add_meta=%add_rg%
set add_cover=0
set small_cover=@cover@

if %ReplayGain%==1 (
set Flac_RG=--replay-gain
set MetaFlac_RG=--add-replay-gain
set MetaMp3_RG=--replay-gain
)
if %ApplyMp3AacAlbumGain%==1 (
set AacGain_RG=/a /o /c /d %AdjustMp3AacAlbumGain_dB%
set MetaMP3_RG=--apply-gain album%AdjustMp3AacAlbumGain_dB%
set add_rg=1
set add_meta=1
)
if exist "@cover@" (
set Flac_cover=--picture="|image/jpeg|||@cover@"
set MetaFlac_cover=--import-picture="|image/jpeg|||@cover@"
set MetaMP3_cover=--pict "{3}@cover@"
set AacTag_cover_acdir=-add-cover:front:$q@cover@$q
set add_cover=1
set add_meta=1
)


REM ---- Image ----


if not "@imageext@"=="flac" goto end_flac_image
set dest=%Flac_ImageDir%
if not exist "%dest%" mkdir "%dest%"
@tools@\flac.exe %Flac_opt% %Flac_RG% %Flac_RG% %Flac_cover% -T artist="@artist@" -T album="@album@" -T totaltracks="@numtracks@" -T date="@year@" -T genre="@genre@" -T comment="Ripped with EAC/REACT" -T cuesheet="@@cuesheet@" -T eaclog="@@eaclog@" "@source@" -o "@image@"
move "@image@" "%dest%"
copy "@cuesheet@" "%dest%"
if %add_cover%==1 copy "@cover@" "%dest%\@basename@.jpg"
:end_flac_image


if not "@imageext@"=="wv" goto end_wavpack_image
set dest=%Wavpack_ImageDir%
if not exist "%dest%" mkdir "%dest%"
@tools@\wavpack.exe %Wavpack_opt% -w artist="@artist@" -w album="@album@" -w totaltracks="@numtracks@" -w year="@year@" -w genre="@genre@" -w comment="Ripped with EAC/REACT" -w cuesheet="@@cuesheet@" -w eaclog="@@eaclog@" "@source@" "@image@"
title REACT - "@album@"
move "@image@" "%dest%"
copy "@cuesheet@" "%dest%"
if %add_cover%==1 copy "@cover@" "%dest%\@basename@.jpg"
:end_wavpack_image

if not "@imageext@"=="mp3" goto end_mp3_image
set dest=%MP3_ImageDir%
if not exist "%dest%" mkdir "%dest%"
@tools@\lame.exe %LameMP3_opt% "@source@" "@image@"
@tools@\metamp3.exe %MetaMP3_RG% %MetaMP3_cover% --artist "@artist@" --album "@album@" --track @numtracks@ --year "@year@" --genre "@genre@" --comment "Ripped with EAC/REACT" --frame TPE2:"@cdartist@" --frame TENC:"%USERNAME%" --frame TSSE:"LAME %LameMP3_ver% %LameMP3_opt%" "@image@"
move "@image@" "%dest%"
copy "@cuesheet@" "%dest%"
if %add_cover%==1 copy "@cover@" "%dest%\@basename@.jpg"
:end_mp3_image



REM ---- Tracks ----


if %Flac%==0 goto end_flac_tracks
set dest=%Flac_TrackDir%
@tools@\acdir.exe --overwrite --output "%dest%\%TrackName%.flac" --pipe "title $n/$N flac $#T & @tools@\flac.exe %Flac_opt% -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=$qRipped with EAC/REACT$q - -o $#o" "@sourcecuesheet@"
if %add_meta%==1 (
pushd "%dest%"
@tools@\Glob.exe -v -c @tools@\metaflac.exe %MetaFlac_RG% %MetaFlac_cover% *.flac
popd
)
copy "@eaclog@" "%dest%\EAClog.txt"
if %add_cover%==1 copy "@cover@" "%dest%\folder.jpg"
if exist "@albumfile@.[*].cue" copy "@albumfile@.[*].cue" "%dest%"
:end_flac_tracks


if %Wavpack%==0 goto end_wavpack_tracks
set dest=%Wavpack_TrackDir%
@tools@\acdir.exe --overwrite --output "%dest%\%TrackName%.wv" --pipe "@tools@\wavpack.exe %Wavpack_opt% -w artist=$#a -w album=$#T -w title=$#t -w track=$n/$N -w year=$q@year@$q -w genre=$q@genre@$q -w comment=$qRipped with EAC/REACT$q - $#o" "@sourcecuesheet@"
if %ReplayGain%==1 (
pushd "%dest%"
@tools@\wvgain.exe -a *.wv
popd
)
title REACT - "@album@"
copy "@eaclog@" "%dest%\EAClog.txt"
if %add_cover%==1 copy "@cover@" "%dest%\folder.jpg"
if exist "@albumfile@.[*].cue" copy "@albumfile@.[*].cue" "%dest%"
:end_wavpack_tracks


if %LameMP3%==0 goto end_mp3_tracks
set dest=%MP3_TrackDir%
@tools@\acdir.exe --overwrite --output "%dest%\%TrackName%.mp3" --pipe "title $n/$N mp3 $#T & @tools@\lame.exe %LameMP3_opt% - $#o & @tools@\metamp3.exe --artist $#a --album $#T --title $#t --track $n/$N --year $q@year@$q --genre $q@genre@$q --comment $qRipped with EAC/REACT$q --frame TPE2:$q@cdartist@$q --frame TENC:$q%USERNAME%$q --frame TSSE:$qLAME %LameMP3_ver% %LameMP3_opt%$q $#o" "@sourcecuesheet@"
if %add_meta%==1 (
pushd "%dest%"
@tools@\metamp3.exe %MetaMP3_RG% %MetaMP3_cover% *.mp3
popd
)
REM copy "@eaclog@" "%dest%\EAClog.txt"
REM if %add_cover%==1 copy "@cover@" "%dest%\folder.jpg"
:end_mp3_tracks


if %NeroAac%==0 goto end_aac_tracks
set dest=%AAC_TrackDir%
@tools@\acdir.exe --overwrite --output "%dest%\%TrackName%.m4a" --pipe "title $n/$N aac $#T & @tools@\neroAacEnc.exe %NeroAac_opt% -if - -of $#o & @tools@\neroAacTag.exe $#o %AacTag_cover_acdir% -meta:artist=$#a -meta:album=$#T -meta:title=$#t -meta:track=$n -meta:totaltracks=$N -meta:year=$q@year@$q -meta:genre=$q@genre@$q -meta:comment=$qRipped with EAC/REACT$q" "@sourcecuesheet@"
if %add_rg%==1 (
pushd "%dest%"
@tools@\aacgain.exe %AacGain_RG% *.m4a > gainlog.txt
popd
)
REM copy "@eaclog@" "%dest%\EAClog.txt"
REM if %add_cover%==1 copy "@cover@" "%dest%\folder.jpg"
:end_aac_tracks


if %OggEnc2%==0 goto end_ogg_tracks
set dest=%OGG_TrackDir%
@tools@\acdir.exe --overwrite --output "%dest%\%TrackName%.ogg" --pipe "title $n/$N ogg $#T & @tools@\oggenc2.exe %OggEnc2_opt% -c artist=$#a -c album=$#T -c title=$#t -c tracknumber=$n/$N -c date=$q@year@$q -c genre=$q@genre@$q -c comment=$qRipped with EAC/REACT$q - -o $#o" "@sourcecuesheet@"
if %ReplayGain%==1 (
pushd "%dest%"
@tools@\vorbisgain.exe -a *.ogg
popd
)
REM copy "@eaclog@" "%dest%\EAClog.txt"
REM if %add_cover%==1 copy "@cover@" "%dest%\folder.jpg"
:end_ogg_tracks


REM ================ END MAIN SCRIPT ===================

if %Debug%==1 (
pause
REM exit
)

rem ** Cleanup

del "@source@"
del "@eaclog@"
del "@cuesheet@"
del "@albumfile@.[*].cue"
del "@cover@"

rem ** Delete this .bat file:
del %0


Also, are boolean arguements supported? So something like:
CODE
IF @various@==1 set MP3_TrackDir=%OutRoot%\Various Artists\Collections\$album$
IF @various@==1 AND IF @genre@==Soundtrack set MP3_TrackDir=%OutRoot%\Various Artists\Soundtracks\$album$
Synthetic Soul
QUOTE(wolfsong @ Nov 21 2006, 13:02) *
Also, are boolean arguements supported? So something like:
CODE
IF @various@==1 set MP3_TrackDir=%OutRoot%\Various Artists\Collections\$album$
IF @various@==1 AND IF @genre@==Soundtrack set MP3_TrackDir=%OutRoot%\Various Artists\Soundtracks\$album$
You can do:

CODE
IF @various@==1 IF @genre@==Soundtrack set MP3_TrackDir=%OutRoot%\Various Artists\Soundtracks\$album$

The second IF will only run if the first is true.

If you needed to get more complex you can start using brackets and/or ELSE, e.g.:

CODE
IF @various@==1 (
  IF @genre@==Soundtrack (
    REM CD is both VA and a soundtrack
    SET MP3_TrackDir=%OutRoot%\Various Artists\Soundtracks\$album$
  ) ELSE (
    REM CD is VA but not a soundtrack
    SET MP3_TrackDir=%OutRoot%\Various Artists\$album$
  )
) ELSE (
  REM CD is not VA
  SET MP3_TrackDir=%OutRoot%\$artist$\$album$
)

wolfsong
QUOTE(Synthetic Soul @ Nov 21 2006, 07:24) *

You can do:

Nifty. I like the more complex option simply because it's more readable.

I also notice that albumart tends to hang and take up CPU resources (around 95%) for 30 to 90 seconds while trying to save the image. I know this isn't tycho's code, just wondering if anyone else is seeing this too.

@tycho: could this extra bit of code i'm using be throwing off how the cover image is being handled?
tycho
QUOTE(wolfsong @ Nov 21 2006, 05:48) *

QUOTE(Synthetic Soul @ Nov 21 2006, 07:24) *

You can do:

Nifty. I like the more complex option simply because it's more readable.

I also notice that albumart tends to hang and take up CPU resources (around 95%) for 30 to 90 seconds while trying to save the image. I know this isn't tycho's code, just wondering if anyone else is seeing this too.

@tycho: could this extra bit of code i'm using be throwing off how the cover image is being handled?

First, although it looks more readable with the paranthesis blocks in the script, e.g.
IF @various@==1 (
set MP3_TrackDir=%OutRoot%\Various Artists\$album$
echo %MP3_TrackDir%
)
it will fail if either %OutRoot% or $album$ contains a ')' character, because the silly dos-script interprets it as closing of the block!
Also be aware of that the echo line will not print out the value you set above! First outside the parathesis block it will be readable!
Conclusion: use labels and 'goto's instead to avoid both of these problems.

Secondly, the discogs.boo script does find many covers, but I think it is because of this that albumart hangs. Disable it.
wolfsong
QUOTE(tycho @ Nov 21 2006, 09:02) *

Conclusion: use labels and 'goto's instead to avoid both of these problems.

Can you give me an idea what this looks like? I'm not sure what language syntax is being used in the scripting? Is it pure DOS syntax? I'm afraid my brain can't access that file any longer (but I may have a book on the shelf at home).
QUOTE(tycho @ Nov 21 2006, 09:02) *
Secondly, the discogs.boo script does find many covers, but I think it is because of this that albumart hangs. Disable it.

Hmm then it may just be that it hasn't finished grabbing covers when I try to save one because I tend to find one right away. I'll hold off on disabling it and giving it a chance to run first but if it gets too annoyin it'a good to know what the problem is. Thanks.
countryman
Hi,

I have downloaded REACT 2 but cannot get it to work. In the ‘REACT-image.cfg’ file I have the following:

set Flac=1
set Wavpack=0
set LameMP3=0
set NeroAac=0
set OggEnc2=0

In the ‘REACT-track.cfg’ file I have:

set Flac=1
set Wavpack=0
set LameMP3=0
set NeroAac=0
set OggEnc2=0

When I hit the ‘MP3’ icon in EAC I get a new folder called ‘EAC\Flac\Artist\Album name\ but the folder is empty. I have decided to start from scratch again and uninstall REACT but it does not appear in the ‘Add/Remove Programs’ pane.

Any advice gratefully received!

Cheers.
drbeachboy
Try pressing the "F10" key on your keyboard.

Also, please read the REACT wiki on how to use the program.
wolfsong
@tycho
Even when I leave out this extra bit of code (which seemed to work fine) the image is not copied to the destination folder. The file is in the temp directory when I select/save it but once the batch runs it's deleted. I assume it's in the post processing portion of the config that this step should occur.
tycho
QUOTE(wolfsong @ Nov 21 2006, 21:34) *

@tycho
Even when I leave out this extra bit of code (which seemed to work fine) the image is not copied to the destination folder. The file is in the temp directory when I select/save it but once the batch runs it's deleted. I assume it's in the post processing portion of the config that this step should occur.

The .flac or .wv image is *moved* to the destination folder (default My Documents\My Music\Flac-Images\... for flac). If the move operation should fail for some reason, the compressed image will stay in the original EAC destination folder. The only image that is ever deleted is the ripped .wav image - but why would you ever want that?

@countryman: You want to create flac tracks only, right? It should actually work by pressing the MP3 icon, like you did. I think your problem is that you have forgotten to download flac.exe and metaflac.exe and put it in the REACT2\tools folder. Make sure to get the latest beta 1.1.3 beta 2 (a release is soon to come i believe).

However, like drbeachboy suggested, it is better to rip in image mode, and let REACT split the image into tracks, by hitting F10. This also starts CoverDownloader for you, so you can save a cover picture. The picture will be embedded in each flac track, using the new option in flac 1.1.3
wolfsong
QUOTE(tycho @ Nov 22 2006, 02:39) *

QUOTE(wolfsong @ Nov 21 2006, 21:34) *

@tycho
Even when I leave out this extra bit of code (which seemed to work fine) the image is not copied to the destination folder. The file is in the temp directory when I select/save it but once the batch runs it's deleted. I assume it's in the post processing portion of the config that this step should occur.

The .flac or .wv image is *moved* to the destination folder (default My Documents\My Music\Flac-Images\... for flac). If the move operation should fail for some reason, the compressed image will stay in the original EAC destination folder. The only image that is ever deleted is the ripped .wav image - but why would you ever want that?

Sorry. I mean cover art.
tycho
Ah. The cover is embeded in the tracks for flac, mp3 and m4a files, so they are not copied to the directory by default. You may extract them using metaflac, metamp3 and neroaactag correspondingly. If you want to have the cover files in the directory as standard, remove the REM from the line:
REM IF %add_cover%==1 COPY "@cover@" "folder.jpg"
for the format in question.
wolfsong
QUOTE(tycho @ Nov 22 2006, 08:22) *

Ah. The cover is embeded in the tracks for flac, mp3 and m4a files, so they are not copied to the directory by default. You may extract them using metaflac, metamp3 and neroaactag correspondingly. If you want to have the cover files in the directory as standard, remove the REM from the line:
REM IF %add_cover%==1 COPY "@cover@" "folder.jpg"
for the format in question.

I'll give it a try tonight. One more thing.
QUOTE(wolfsong @ Nov 21 2006, 14:01) *

QUOTE(tycho @ Nov 21 2006, 09:02) *

Conclusion: use labels and 'goto's instead to avoid both of these problems.

Can you give me an idea what this looks like? I'm not sure what language syntax is being used in the scripting? Is it pure DOS syntax? I'm afraid my brain can't access that file any longer (but I may have a book on the shelf at home).

I did locate my DOS 6.2 books BTW if that's the syntax I can probably figure it out from there. Thanks.
Synthetic Soul
It is basic DOS commands BTW.

http://www.ss64.com/nt/goto.html

Essentially it's as easy as:

CODE
GOTO MyLabel
REM This will never execute
:MyLabel
REM Do something here

I must admit I'm not sure exactly what Tycho has in mind, but one solution may be:

CODE
IF @various@==1 GOTO Various
REM CD is not VA
SET MP3_TrackDir=%OutRoot%\$artist$\$album$
GOTO Complete
:Various
IF @genre@==Soundtrack GOTO Soundtrack
REM CD is VA but not a soundtrack
SET MP3_TrackDir=%OutRoot%\Various Artists\$album$
GOTO Complete
:Soundtrack
REM CD is both VA and a soundtrack
SET MP3_TrackDir=%OutRoot%\Various Artists\Soundtracks\$album$
:Complete



wolfsong
QUOTE(tycho @ Nov 22 2006, 08:22) *

If you want to have the cover files in the directory as standard, remove the REM from the line:
REM IF %add_cover%==1 COPY "@cover@" "folder.jpg"
for the format in question.

@tycho
FYI: This line is not in the track config. I'm assuming this line
CODE
if %add_meta%==1 @tools@\metamp3.exe %MetaMP3_RG% %MetaMP3_cover% *.mp3

adds the cover tag but since F2K doesn't have a component that reads this tag and I've seen embedded cover art cause problems, I'll also assume that I can remove the %MetaMP3_cover% option without ill effect.

One more thing. Thanks for doing so much development and this version in particular has been the easiest to use so far. Keep up the good work.

@Synthetic Soul
Thanks for creating the wiki and always taking a crack at answering questions. You rock!
sdgenxr
Image creation assistance needed. For some reason when I create an image by pressing F10 all I get is track 2 in FLAC format and nothing else. I'm not sure what is happening here. Any ideas?

image.cfg
CODE
@echo off
chcp 1252
title REACT - "@album@"


REM ================== USER SETTINGS ======================


rem ** To archive a CD as one large "image", you must set
rem ** ImageExt=... in the REACT.ini file (Press Alt-F2).
rem ** This will set the @imageext@ variable. Extensions
rem ** currently supported: flac, wv, mp3. Set to 'wav'
rem ** for no image archiving (default).

REM ---- Enable/disable additional track formats:

rem ** Splits the wav-image into tracks during encoding, using ACDIR.
rem ** Flac requires flac.exe/metaflac.exe (v1.1.3)
rem ** NeroAac requires NeroAacEnc.exe/NeroAacTag.exe/AacGain.exe.
rem ** OggEnc2 requires OggEnc2.exe/VorbisGain.exe.

set Flac=1
set Wavpack=0
set LameMP3=1
set NeroAac=0
set OggEnc2=0

REM ---- General settings ----

set Debug=0

rem ** I prefer applying album gain 92dB to get a reasonable
rem ** volume for my DAP. The RG tags are still relative
rem ** to 89dB SPL, i.e. album gain will be about -3.0dB.

set ReplayGain=1
set ApplyMp3AacAlbumGain=1
set AdjustMp3AacAlbumGain_dB=+3.0

REM ---- Encoder options ----

set Flac_opt=-5 -f
set Wavpack_opt=-hmy
set LameMP3_opt=-V2 --vbr-new --noreplaygain -c --nohist
rem ** Nero LC-AAC @ ~ 90kbps - great for e.g. iPods:
set NeroAac_opt=-lc -q 0.22
set OggEnc2_opt=-q 3.0

set Flac_ver=1.1.3b2
set LameMP3_ver=3.97
set NeroAac_ver=1.0.0.2

REM ---- Output directories and track names ----

set OutRoot=E:\Ripping

rem ** Image dirs:
set Flac_ImageDir=%OutRoot%\Flac-Images\$cdartist$
set Wavpack_ImageDir=%OutRoot%\Wavpack-Images\$cdartist$
set MP3_ImageDir=%OutRoot%\MP3-Images\$cdartist$

rem ** Track dirs:
set Flac_TrackDir=%OutRoot%\Flac\$cdartist$\$cdartist$ - ($year$) - $album$
set Wavpack_TrackDir=%OutRoot%\Wavpack\$cdartist$\$cdartist$ - ($year$) - $album$
set MP3_TrackDir=%OutRoot%\MP3\$cdartist$\$cdartist$ - ($year$) - $album$
set AAC_TrackDir=%OutRoot%\AAC\$cdartist$\$cdartist$ - ($year$) - $album$
set OGG_TrackDir=%OutRoot%\OGG\$cdartist$\$cdartist$ - ($year$) - $album$

rem ** Vairous Track dirs:
if @various@==1 set Flac_TrackDir=%OutRoot%\Flac\$album$ - ($year$)
if @various@==1 set Wavpack_TrackDir=%OutRoot%\$album$ - ($year$)
if @various@==1 set MP3_TrackDir=%OutRoot%\MP3\$album$ - ($year$)
if @various@==1 set AAC_TrackDir=%OutRoot%\AAC\$album$ - ($year$)
if @various@==1 set OGG_TrackDir=%OutRoot%\OGG\$album$ - ($year$)

rem ** Track names:
if @various@==0 set TrackName=$track$ - $title$
if @various@==1 set TrackName=$track$ - $title$ ($artist$)

REM ============== BEGIN MAIN SCRIPT ==================


if %Debug%==1 echo on

set add_rg=%ReplayGain%
set add_meta=%add_rg%
set add_cover=1
set small_cover=@cover@

if %ReplayGain%==1 (
set Flac_RG=--replay-gain
set MetaFlac_RG=--add-replay-gain
set MetaMp3_RG=--replay-gain
)
if %ApplyMp3AacAlbumGain%==1 (
set AacGain_RG=/a /o /c /d %AdjustMp3AacAlbumGain_dB%
set MetaMP3_RG=--apply-gain album%AdjustMp3AacAlbumGain_dB%
set add_rg=1
set add_meta=1
)
if exist "@cover@" (
set Flac_cover=--picture="|image/jpeg|||@cover@"
set MetaFlac_cover=--import-picture="|image/jpeg|||@cover@"
set MetaMP3_cover=--pict "{3}@cover@"
set AacTag_cover_acdir=-add-cover:front:$q@cover@$q
set add_cover=1
set add_meta=1
)


REM ---- Image ----


if not "@imageext@"=="flac" goto end_flac_image
set dest=%Flac_ImageDir%
if not exist "%dest%" mkdir "%dest%"
@tools@\flac.exe %Flac_opt% %Flac_RG% %Flac_RG% %Flac_cover% -T artist="@artist@" -T album="@album@" -T totaltracks="@numtracks@" -T date="@year@" -T genre="@genre@" -T comment="Ripped with EAC/REACT" -T cuesheet="@@cuesheet@" -T eaclog="@@eaclog@" "@source@" -o "@image@"
move "@image@" "%dest%"
copy "@cuesheet@" "%dest%"
if %add_cover%==1 copy "@cover@" "%dest%\@basename@.jpg"
:end_flac_image


if not "@imageext@"=="wv" goto end_wavpack_image
set dest=%Wavpack_ImageDir%
if not exist "%dest%" mkdir "%dest%"
@tools@\wavpack.exe %Wavpack_opt% -w artist="@artist@" -w album="@album@" -w totaltracks="@numtracks@" -w year="@year@" -w genre="@genre@" -w comment="Ripped with EAC/REACT" -w cuesheet="@@cuesheet@" -w eaclog="@@eaclog@" "@source@" "@image@"
title REACT - "@album@"
move "@image@" "%dest%"
copy "@cuesheet@" "%dest%"
if %add_cover%==1 copy "@cover@" "%dest%\@basename@.jpg"
:end_wavpack_image

if not "@imageext@"=="mp3" goto end_mp3_image
set dest=%MP3_ImageDir%
if not exist "%dest%" mkdir "%dest%"
@tools@\lame.exe %LameMP3_opt% "@source@" "@image@"
@tools@\metamp3.exe %MetaMP3_RG% %MetaMP3_cover% --artist "@artist@" --album "@album@" --track @numtracks@ --year "@year@" --genre "@genre@" --comment "Ripped with EAC/REACT" --frame TPE2:"@cdartist@" --frame TENC:"%USERNAME%" --frame TSSE:"LAME %LameMP3_ver% %LameMP3_opt%" "@image@"
move "@image@" "%dest%"
copy "@cuesheet@" "%dest%"
if %add_cover%==1 copy "@cover@" "%dest%\@basename@.jpg"
:end_mp3_image



REM ---- Tracks ----


if %Flac%==0 goto end_flac_tracks
set dest=%Flac_TrackDir%
@tools@\acdir.exe --overwrite --output "%dest%\%TrackName%.flac" --pipe "title $n/$N flac $#T & @tools@\flac.exe %Flac_opt% -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=$qRipped with EAC/REACT$q - -o $#o" "@sourcecuesheet@"
if %add_meta%==1 (
pushd "%dest%"
@tools@\Glob.exe -v -c @tools@\metaflac.exe %MetaFlac_RG% %MetaFlac_cover% *.flac
popd
)
copy "@eaclog@" "%dest%\EAClog.txt"
if %add_cover%==1 copy "@cover@" "%dest%\folder.jpg"
if exist "@albumfile@.[*].cue" copy "@albumfile@.[*].cue" "%dest%"
:end_flac_tracks


if %Wavpack%==0 goto end_wavpack_tracks
set dest=%Wavpack_TrackDir%
@tools@\acdir.exe --overwrite --output "%dest%\%TrackName%.wv" --pipe "@tools@\wavpack.exe %Wavpack_opt% -w artist=$#a -w album=$#T -w title=$#t -w track=$n/$N -w year=$q@year@$q -w genre=$q@genre@$q -w comment=$qRipped with EAC/REACT$q - $#o" "@sourcecuesheet@"
if %ReplayGain%==1 (
pushd "%dest%"
@tools@\wvgain.exe -a *.wv
popd
)
title REACT - "@album@"
copy "@eaclog@" "%dest%\EAClog.txt"
if %add_cover%==1 copy "@cover@" "%dest%\folder.jpg"
if exist "@albumfile@.[*].cue" copy "@albumfile@.[*].cue" "%dest%"
:end_wavpack_tracks


if %LameMP3%==0 goto end_mp3_tracks
set dest=%MP3_TrackDir%
@tools@\acdir.exe --overwrite --output "%dest%\%TrackName%.mp3" --pipe "title $n/$N mp3 $#T & @tools@\lame.exe %LameMP3_opt% - $#o & @tools@\metamp3.exe --artist $#a --album $#T --title $#t --track $n/$N --year $q@year@$q --genre $q@genre@$q --comment $qRipped with EAC/REACT$q --frame TPE2:"%AlbumArtist%" --frame TENC:"LAME %LameMP3_ver%" --frame TSSE:$qLAME %LameMP3_ver% %LameMP3_opt%$q $#o" "@sourcecuesheet@"
if %add_meta%==1 (
pushd "%dest%"
@tools@\metamp3.exe %MetaMP3_RG% %MetaMP3_cover% *.mp3
popd
)
REM copy "@eaclog@" "%dest%\EAClog.txt"
REM if %add_cover%==1 copy "@cover@" "%dest%\folder.jpg"
:end_mp3_tracks


if %NeroAac%==0 goto end_aac_tracks
set dest=%AAC_TrackDir%
@tools@\acdir.exe --overwrite --output "%dest%\%TrackName%.m4a" --pipe "title $n/$N aac $#T & @tools@\neroAacEnc.exe %NeroAac_opt% -if - -of $#o & @tools@\neroAacTag.exe $#o %AacTag_cover_acdir% -meta:artist=$#a -meta:album=$#T -meta:title=$#t -meta:track=$n -meta:totaltracks=$N -meta:year=$q@year@$q -meta:genre=$q@genre@$q -meta:comment=$qRipped with EAC/REACT$q" "@sourcecuesheet@"
if %add_rg%==1 (
pushd "%dest%"
@tools@\aacgain.exe %AacGain_RG% *.m4a > gainlog.txt
popd
)
REM copy "@eaclog@" "%dest%\EAClog.txt"
REM if %add_cover%==1 copy "@cover@" "%dest%\folder.jpg"
:end_aac_tracks


if %OggEnc2%==0 goto end_ogg_tracks
set dest=%OGG_TrackDir%
@tools@\acdir.exe --overwrite --output "%dest%\%TrackName%.ogg" --pipe "title $n/$N ogg $#T & @tools@\oggenc2.exe %OggEnc2_opt% -c artist=$#a -c album=$#T -c title=$#t -c tracknumber=$n/$N -c date=$q@year@$q -c genre=$q@genre@$q -c comment=$qRipped with EAC/REACT$q - -o $#o" "@sourcecuesheet@"
if %ReplayGain%==1 (
pushd "%dest%"
@tools@\vorbisgain.exe -a *.ogg
popd
)
REM copy "@eaclog@" "%dest%\EAClog.txt"
REM if %add_cover%==1 copy "@cover@" "%dest%\folder.jpg"
:end_ogg_tracks


REM ================ END MAIN SCRIPT ===================

if %Debug%==1 (
pause
REM exit
)

rem ** Cleanup

del "@source@"
del "@eaclog@"
del "@cuesheet@"
del "@albumfile@.[*].cue"
del "@cover@"

rem ** Delete this .bat file:
del %0


How do I put scroll bars and a title in the code section above?

Moderation: CODE to CODEBOX
wolfsong
QUOTE(sdgenxr @ Nov 24 2006, 23:33) *

How do I put scroll bars and a title in the code section above?

Change code to codebox. Not sure about title.
CODE
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
Here's an example
wolfsong
QUOTE(tycho @ Nov 18 2006, 19:08) *

Thanks for all the great feedback. I have uploaded a new beta:
beta 2:
  • Sets either "album" or "album artist" tag on images, depending on @various@ (thx drbeachboy and synthetic soul)
  • Adds "album artist" tag to track files on various-artists albums (in addition to artist).
  • Using new variable %AlbumArtist%. Default to "Album Artist" for various-artists albums.

I noticed that my Album Artist was not showing tagged in F2K but looking at the config, this is actually being tagged to the TPE2 frame which is the BAND field. Any way to write this to the ALBUM ARTIST field instead?

Also, an old problem has returned. It seems multi-work genres (i.e. Acid Jazz) cause REACT to stop processiong. The batch file is created after extraction (image-config) but REACT stops at this point.
Martin H
@tycho

1. Would you please add an option for adding AG REM comments into the embedded cuesheet(i don't want them in the tags) ?

2. Is it possible to start the script(F10) without the Coverdownloader starting(i don't wan't covers) ?

3. Can i still use '--scale' to get AG scaled MP3 track files together with an WV image(instead of just adding RG tags to the MP3 track files) ?

I haven't tried this version yet, and is sticking to v1.0 as the above questions concerns me, but i really hope that i will be able to use the new version instead at a later time...

Thank's in advance

Martin.
wolfsong
QUOTE(Martin H @ Nov 26 2006, 11:10) *

2. Is it possible to start the script(F10) without the Coverdownloader starting(i don't wan't covers) ?

Change RunCoverDowloader to 0 in REACT.ini
QUOTE(Martin H @ Nov 26 2006, 11:10) *

3. Can i still use '--scale' to get AG scaled MP3 track files together with an WV image(instead of just adding RG tags to the MP3 track files) ?

I used scale before too but honestly don't know what the difference is between scale and the ApplyMp3AacAlbumGain setting.
tycho
Again, Thanks for all feedback.

@sdgenxr: You must set the ImageExt=flac in the REACT.ini file. The set Flac=1 in the REACT-image.cfg file is for tracks. In the 2.0 final version, all normal user configuration is moved to the REACT.ini file, so regular user will only need to modify the REACT.ini file.

@wolfsong: The BAND field is very often interpreted as Artist Album, e.g. by Winamp. However, I guess foobar uses a TXXX frame for album artist. You may add (or replace) a TXXX frame in the mp3 tracks section:
CODE
IF @various@==1 SET VA_tag_MP3=--frame TPE2:$q$cdartist$$q --user-text $q[album artist]@cdartist@$q

I suppose I could add this in the final release.

The multi-word genre problem you mention surprises me. I have just tested a "Acid Jazz" CD with and all formats, and it worked fine. (Image mode F10).

@Martin H:
1) There is no internal support for adding Album Gain REM comments. It is however possible to do this with some advanced DOS scripting. To outline how:
CODE

WaveGain.exe -a "@source@" -e echo '%%ALBUM_GAIN%%'%%ALBUM_PEAK%%'%%ALBUM_SCALE%%'> tmp1.txt

FOR /F "tokens=1-6 delims='" %%i IN (tmp1.txt) DO (
    echo REM REPLAYGAIN_ALBUM_GAIN %%j dB> tmp2.txt
    echo REM REPLAYGAIN_ALBUM_PEAK %%k>> tmp2.txt
    SET album_scale=%%l
)
TYPE @cuesheet@ >> tmp2.txt
MOVE /Y tmp2.txt @cuesheet@
DEL tmp1.txt

And later when you encode with lame or oggenc2, you may use --scale %album_scale%

Note: The %ALBUM_PEAK% and other *_PEAK variables accessible in the WaveGain line should be divided by 32767 to normalize them to 0.0 - 1.0 range. If you notify john33 about it, he may fix that for next WaveGain release.

@wolfsong: Using --scale when encoding will apply volume to exactly 89 dB, whereas using aacgain or metamp3 after encoding will result in 89 +- 0.75 dB. However it allows to losslessy undo volume changes made, unlike when using --scale. Also, for AAC, you must resort to aacgain, because there is no --scale option for the encoder.

edit: formatting.
Martin H
@wolfsong

Thank's for your reply smile.gif

Btw, the reason i prefer the '--scale' method rather than just adding RG tags to the MP3 track files or using MP3Gain, is that it is more space effecient, as the files will be about 10% smaller on new music, when lowering the loudness before initiating the encoding process + the MP3 track files will playback as album gained in non-RG aware players also, just like if MP3Gain had been used.

@tycho

Thank you very much for your reply, and i appreciate that you have outlined a working solution for me smile.gif

Thank's again mates smile.gif

Martin.
wolfsong
QUOTE(tycho @ Nov 26 2006, 15:48) *

@wolfsong: The BAND field is very often interpreted as Artist Album, e.g. by Winamp. However, I guess foobar uses a TXXX frame for album artist. You may add (or replace) a TXXX frame in the mp3 tracks section:
CODE
IF @various@==1 SET VA_tag_MP3=--frame TPE2:$q$cdartist$$q --user-text $q[album artist]@cdartist@$q

I suppose I could add this in the final release.

Hmm. I can't really "read" this but from what you've said it should write a custom "album artist" tag. Just to clarify does it set the album artist to the @cdartist@ when not various and Various Artists when it is?

Right now I have the 2 lines remarked that set AlbumArtist. Should I unremark them?

QUOTE(tycho @ Nov 26 2006, 15:48) *
The multi-word genre problem you mention surprises me. I have just tested a "Acid Jazz" CD with and all formats, and it worked fine. (Image mode F10).

I retested on another PC. I was having some other problems and it looks like this was caused by a conflict with other software. Thanks.
tycho
QUOTE(wolfsong @ Nov 26 2006, 16:08) *

QUOTE(tycho @ Nov 26 2006, 15:48) *

@wolfsong: The BAND field is very often interpreted as Artist Album, e.g. by Winamp. However, I guess foobar uses a TXXX frame for album artist. You may add (or replace) a TXXX frame in the mp3 tracks section:
CODE
IF @various@==1 SET VA_tag_MP3=--frame TPE2:$q$cdartist$$q --user-text $q[album artist]@cdartist@$q

I suppose I could add this in the final release.

Hmm. I can't really "read" this but from what you've said it should write a custom "album artist" tag. Just to clarify does it set the album artist to the @cdartist@ when not various and Various Artists when it is?

Right now I have the 2 lines remarked that set AlbumArtist. Should I unremark them?

The line sets both the BAND and a custom user text field with "album artists" as description to "Various", when and only when the CD is Various Artists. The v2.0 Final adds a key VA in the REACT.ini file (default VA=Various Artists). This will be the value of @cdartist@ for VA albums, otherwise @cdartist@ equals @artist@. I.e. you won't need the "set AlbumArtist" lines in the final release, but for now I believe you will.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.