Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: REACT 2 Released (Read 1265147 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

REACT 2 Released

Reply #25
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

REACT 2 Released

Reply #26
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.
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.

REACT 2 Released

Reply #27
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: [Select]
@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: [Select]
@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: [Select]
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$

REACT 2 Released

Reply #28
Also, are boolean arguements supported? So something like:
Code: [Select]
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: [Select]
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: [Select]
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$
)
I'm on a horse.

REACT 2 Released

Reply #29
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?

REACT 2 Released

Reply #30

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.

REACT 2 Released

Reply #31
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).
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.

REACT 2 Released

Reply #32
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.

 

REACT 2 Released

Reply #33
Try pressing the "F10" key on your keyboard.

Also, please read the REACT wiki on how to use the program.
Surf's Up!
"Columnated Ruins Domino"

REACT 2 Released

Reply #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.

REACT 2 Released

Reply #35
@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

REACT 2 Released

Reply #36

@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.

REACT 2 Released

Reply #37
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.

REACT 2 Released

Reply #38
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.

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.

REACT 2 Released

Reply #39
It is basic DOS commands BTW.

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

Essentially it's as easy as:

Code: [Select]
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: [Select]
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
I'm on a horse.

REACT 2 Released

Reply #40
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: [Select]
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!

REACT 2 Released

Reply #41
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: [Select]
@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?

[!--sizeo:1--][span style=\"font-size:8pt;line-height:100%\"][!--/sizeo--]Moderation: CODE to CODEBOX[/size]

REACT 2 Released

Reply #42
How do I put scroll bars and a title in the code section above?
Change code to codebox. Not sure about title.
Code: [Select]
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

REACT 2 Released

Reply #43
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.

REACT 2 Released

Reply #44
@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.

REACT 2 Released

Reply #45
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
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.

REACT 2 Released

Reply #46
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: [Select]
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: [Select]
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.

REACT 2 Released

Reply #47
@wolfsong

Thank's for your reply 

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

Thank's again mates

Martin.

REACT 2 Released

Reply #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: [Select]
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 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.

REACT 2 Released

Reply #49

@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: [Select]
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.