HydrogenAudio

CD-R and Audio Hardware => CD Hardware/Software => Topic started by: tycho on 2005-10-18 22:33:59

Title: REACT v0.990 released
Post by: tycho on 2005-10-18 22:33:59
This release has better preconfigured setups, so that you can use it without much manual editing of the INI files. Editing the INI-files are still not for the faint of heart, but you should be able to edit the setting of 'destdir1=...' and 'dest1=...' variable for specifying the destination files.

See thread: http://www.hydrogenaudio.org/forums/index....ndpost&p=319638 (http://www.hydrogenaudio.org/forums/index.php?showtopic=36261&view=findpost&p=319638)

REACT v0.990 comes with five predefined configurations:

FLAC, WAVPACK, APE, LAME and OGG.

Each has an image and a track mode. E.g, if you want to rip to WAVPACK tracks, you should hit Alt-F2 and edit and set the 'Config' key right at the top of the file to 'WAVPACK' (default FLAC), then close notepad. A traytip should now show that you have selected config WAVPACK. Hit Shift-F5 (or hotkey F4) to start ripping and create the tracks.

Why use REACT? Well, it does the lot. For each configuration it automatically:

Ripping to image:Ripping to tracks:Note especially:
- FLAC image: adds cuesheet *with* CDText info. Works well with fb2k.
- LAME tracks: encodes gapless (using --nogap) after all tracks are ripped.
- LAME and OGG: Because these formats are often used for DAP playback,        replaygain values are applied to the stream (using --scale, mp3gain, or vorbisgain) rather than added as tags.

Package: REACT now comes bundled with a selection of tools. Two special made are included:
- WaveGain.exe v1.2.5.E3  - adds additional post execution of a command (see WaveGain thread).
- Glob.exe - a tool that can run commands and expand wildcard files. Useful for e.g. flac.exe, metaflac.exe, and lame.exe --nogap

Some News:
Title: REACT v0.990 released
Post by: k.eight.a on 2005-10-18 23:54:57
Quote
- LAME tracks: encodes gapless (using --nogap) after all tracks are ripped.
Out of curiosity: I've read somewhere that this switch is not recommneded at all for gapless playback ... so correct me If I'm wrong...
Title: REACT v0.990 released
Post by: tycho on 2005-10-19 07:55:16
Quote
Quote
- LAME tracks: encodes gapless (using --nogap) after all tracks are ripped.
Out of curiosity: I've read somewhere that this switch is not recommneded at all for gapless playback ... so correct me If I'm wrong...
[a href="index.php?act=findpost&pid=335525"][{POST_SNAPBACK}][/a]

Yes, and I really don't know the status of this as of yet. I thought that --nogap would do no harm, but has limited usefulness because it is currently only foobar that uses the extra information stored in the lame tags for doing gapless playback. Btw, can foobar save the gapless mp3 stream back to an mp3 image file? (I doubt it).

Ps. First post is updated.
Title: REACT v0.990 released
Post by: Synthetic Soul on 2005-10-19 10:55:42
Nice work tycho.

I was having problems with the previous version, but this one seems to work as expected, and the closing of the dialogue to add the log is the icing on the cake.

Thank you for persisting with this tool - it's a beaut.

Edit: after me playing around with REACT for a while it seems to have lost its link to EAC again.  That is, when I start REACT it does not start EAC, which it did do after installing.    The previous version I had installed had lost this link also.

Any idea what might be breaking this link and how I might get it back?

WinXP SP2, EAC 0.95b3.

Thanks.

Edit2: Re-installation does not help, and neither does deleting the ini file.  If I right-click on the system tray icon "Script Paused" is ticked - but there doesn't seem to be a way to untick that anyway.
Title: REACT v0.990 released
Post by: Synthetic Soul on 2005-10-19 12:44:27
Ha!  I just got it as I was writing my findings...

You are using Opt("WinTitleMatchMode", 2).

Therefore, if I have Explorer open at the folder "C:\Program Files\Exact Audio Copy" a match is made and WinExists($g_eacTitle) returns true.

I can only suggest using 1 instead of 2 - but you know better than me whether that is truely feasible or not.
Title: REACT v0.990 released
Post by: tycho on 2005-10-19 13:00:50
Ops! Good find. Well, the match mode 2 is requred for the other calls, but I can specify a second "text" argument to WinExists(). I'll make an update.

By the way:
1) For mp3's, id3v1 and ape2 tags are added - no id3v2. Note that when using Tag.exe, you must specify Tag.exe --force id3v1 --force ape2 ... in that particular sequence, so that the ape2 tags are written before the id3v1 tags (strangely enough) - otherwise the id3v1 tags will nolonger be at the end of the file, which is vital. I guess this could be easily fixed in the code.

2) I have updated the wapet source as well (I have it somewhere), so that it makes sure that any existing id3v1 tag is retained and put at the end of the file as well. It also removes an existing ape2 tag block before adding the new one. If you're interested, I can PM you the wapet.c file when I find it - it's small changes only.
Title: REACT v0.990 released
Post by: Synthetic Soul on 2005-10-19 13:11:14
Quote
2) I have updated the wapet source as well (I have it somewhere), so that it makes sure that any existing id3v1 tag is retained and put at the end of the file as well. It also removes an existing ape2 tag block before adding the new one. If you're interested, I can PM you the wapet.c file when I find it - it's small changes only.

I would certainly be interested to see the source, thank you.

The ID3v1 retain sounds like a sensible action.  There seems no reason why Wapet should destroy any information, when its sole purpose is to add APEv2.

I'm not so sure about the APEv2/APEv2 bit.  I would expect Wapet to add tags to existing tags, rather than to remove them.

Thanks again for REACT.  I'm almost there with getting it to do everything my batch files do.  I just need to do the work to add the disc/rip info to a CSV log.
Title: REACT v0.990 released
Post by: tycho on 2005-10-19 13:44:58
I understand you reservation for removing existing APE2 tags. Here's how an mp3 file looks like with id3v1, id3v2 and APE2 tags:

[id3v2 tag]
[audio data]
[apetag header]
[apetag item]
[apetag item]
...
[apetag footer]
[id3v1 tag]

Now, the current wapet will simply add a full apetag with new tag items in it, and not care about that any existing tags. Most applications only look for one APE tag (block), namely the one at the end of the file, or just before the id3v1 tag. Ideally wapet should read the entire existing ape tag (block) and update it, but wapet can't do that right now. However, my addition seeks to the apetag header and starts writing the new tag there, effectively removing the old. Then it writes the id3v1 tags if was there. It also truncates the file if the new apetag was shorter than the old.
Title: REACT v0.990 released
Post by: Synthetic Soul on 2005-10-19 13:55:40
Thanks for the info.

That makes a lot of sense.  You've sold me.

I guess Wapet is generally used on files that it is encoding, so there will not normally be any tags present anyway.

In those circumstances where this is not the case, your logic sounds indisputable to me.
Title: REACT v0.990 released
Post by: tycho on 2005-10-19 14:30:08
I've uploaded a small update: REACT v0.991.
- Avoid conflict with other windows named "Exact Audio Copy" (e.g. Explorer).
Title: REACT v0.990 released
Post by: A_Man_Eating_Duck on 2005-10-20 10:17:25
I've been using REACT v0.991 for the last hour for some bulk ripping.

It seems that that REACT randomly exits after ripping a few discs for me, EAC is still open but the systray icon is gone.

The F10 key stops working for ripping my images and it doesn't close the the window after ripping the disc, which results in the cuesheet not getting embedded in the flac. So i have to close EAC and reopen it via the REACT link.

i have a feeling this has something to do with the window dectection, may be it thinks the EAC has exited and closes itself. I'm browsing webpages and ripping a dvd whilst ripping with EAC so EAC isn't always the window on top of the others.

i seems pretty random, when it happens, but it has happened to me alot in the last hour.
Title: REACT v0.990 released
Post by: Bill02888 on 2005-10-20 11:05:43
I've got a few newbie questions re: EAC with REACT (sorry!):

1)

If I start REACT I get an EAC icon showing in the system tray but nothing happens. If I double-click that system tray icon it starts to alternate between an EAC icon and a red X, seeming to indicate that a script is paused.

For now I have created a section called [do-tracks] which does all my file conversion (lossy Lame and lossless WavPack), and I hardcode the selection of "do" by specifying

  do %o %s %d "%a" "%g" "%t" "%n" "%x" "%y" "%m" "%e" "%f" "%b" %r

in EAC's "Additional command line options". This allows me to start EAC and use "Action | Copy Selected Tracks | Compressed..." and the REACT processing takes place just fine. I'm able to do my "stuff" but I'm missing much of the REACT functionality this way.

REACT.exe is in the C:\Program Files\Exact Audio Copy directory, along with REACT.ini and REACT_log.txt.

REACT_log.txt doesn't show anything if I start REACT by itselt. It does get populated when I use EAC to copy as compressed.

What silly thing am I doing/assuming?

2)

Previously when using EAC with LAME_ENC.DLL I'd been using the EAC save dialog to manually create a directory for the artist, then a directory for CD title, then let EAC place all the "# trackTitle" files into that directory. Now I'm using REACT and letting it create the directories for me. It's quite nice! But of course we each have our own particular quirks about directory structure. When I rip a
Title: REACT v0.990 released
Post by: Bill02888 on 2005-10-20 11:29:36
I've solved my question (1). It was the same issue that Synthetic Soul experienced with an open explorer window. Downloading the latest version of REACT solved that problem.

Edit: Now that I've viewed the sample INI that comes with the latest version, I now have the answer to question (3) as well.

D'oh! If I figure out the answer to (2) in the next 5 minutes I think I'll just slither away.
Title: REACT v0.990 released
Post by: Synthetic Soul on 2005-10-20 12:18:52
Quote
Currently I'm using:

   <my music path path>\$artist$\$album$\@track@ $title$.mp3

When Various is checked I'd prefer REACT to use:

   <my music path path>\Various\$album$\$artist$\@track@ $title$.mp3

How would I do this automatically with EAC and REACT? I realize I could (once I can get REACT.exe to run properly) create a new section in the ini with a different dest1 value and then simply choose that section from REACT, but it would be nice if this action could take place automatically for me.

That's a nice idea.  REACT could pick up the state of the Various Artists checkbox and somehow change the path accordingly.

Maybe the user could set dest1 as normal and set destVarious differently, then REACT would swap dest1 with destVarious if the Various Artists checkbox was ticked?  Something like that...
Title: REACT v0.990 released
Post by: Bill02888 on 2005-10-20 12:36:10
I'm trying the idea of copying my regular section to [do-various-tracks]. When the various box is selected the @artist@ and @title@ values are flipped. I had to modify dest and encoder tags accordingly in my -various- section.

lame.exe --ta "@title@" --tt "@artist@"

Is a bit strange/interesting.

I wonder if the order of those values depends on how the "various" information was entered into freedb? That could make the automation process a bit difficult.

Bill
Title: REACT v0.990 released
Post by: Synthetic Soul on 2005-10-20 13:00:40
Are you sure that the freedb values are correct?  I seem to remember having some poorly set up VA albums when I made my archive.

EAC appears to expect the title to be "<artist>/<title>" format for VA albums.
Title: REACT v0.990 released
Post by: Bill02888 on 2005-10-20 13:10:31
Quote
Are you sure that the freedb values are correct?  I seem to remember having some poorly set up VA albums when I made my archive.

EAC appears to expect the title to be "<artist>/<title>" format for VA albums.
[a href="index.php?act=findpost&pid=335920"][{POST_SNAPBACK}][/a]


For the CD "Billboard Top Hits - 1988" EAC displays the freedb information in the Title column as "<title> / <artist>". For example:

Wishing Well / Terence Trent D'Arby

Bill
Title: REACT v0.990 released
Post by: Synthetic Soul on 2005-10-20 13:13:42
If you go to "Action > Create CUE Sheet > Current Gap Settings..." and create a cuesheet for the album you should see from the cuesheet that the TITLE and PERFORMER values are swapped.

I.e.: I don't think it's REACT, I think it's EAC or that freeDB entry.

For testing I amended my titles to use a "<artist>/<title>" format and my cuesheet is as expected.

Edit:

Quote
DTITLE: Technically, this may consist of any data, but by convention contains
   the artist and disc title (in that order) separated by a "/"
with a
   single space on either side to separate it from the text. There may be
   other "/" characters in the DTITLE, but not with space on both sides,
   as that character sequence is exclusively reserved as delimiter of
   artist and disc title! If the "/" is absent, it is implied that the
   artist and disc title are the same, although in this case the name
   should rather be specified twice, separated by the delimiter.
   If the disc is a sampler containing titles of various artists, the disc
   artist should be set to "Various" (without the quotes).
It's that freeDB entry.

NB: with regard to the space either side, EAC (wrongly?) seems to deal with either a space or no space.  If a space is present it is trimmed.  I suppose it's not so wrong as it has the checkbox double check - so it is expecting a VA format.
Title: REACT v0.990 released
Post by: Bill02888 on 2005-10-20 13:24:33
Confirmed. There's a bad freedb entry.

I did a "Database | Get CD information from | Remote freedb". There are actually two freedb entries. One is right, one is wrong (flipped over the /). I had ripped this CD once before (older version of Lame) so EAC was still pointing to the wrong one. Thanks for the tip. Looks like special Various processing is still possible, but that folks need to be on the lookout for flipped entries.

The oil burner technician is here to perform a tune-up on my home heating system so I've got to go.

Thanks,
Bill
Title: REACT v0.990 released
Post by: tycho on 2005-10-20 20:26:12
Released v0.992.

- Added variable @cdartist@.
- When defining 'Various-dest1=..', it sets @dest1@ to this when a 'Various artists' CD is ripped.
- Restores EAC if it was minimized when encoding, in order to make sure EAC log gets saved.
- Tried to avoid unintentional closing (before EAC). I  haven't had this problem myself, though.
- Added REACT info on EAC title line instead of TrayTip. (found it a little annoying).


I haven't got time to work on this for a while, so hopefully it works as expected.
Have fun.
Title: REACT v0.990 released
Post by: bluestat on 2005-10-20 21:32:20
Hi,

I have started to try this application out today. I have a couple of questions. Is it possible to calculate REPLAYGAIN_TRACK_GAIN and REPLAYGAIN_TRACK_PEAK on the individual tracks inside a FLAC with embedded cuesheet and have these calculated values in the cue that is stored in the vorbis comment?

Also, is there a way to make it so that spaces are replaced by underscores? I have this checked off in EAC but there appears to be no effect.

Thanks!!
Title: REACT v0.990 released
Post by: Bill02888 on 2005-10-21 02:15:33
Quote
Released v0.992.

- Added variable @cdartist@.
- When defining 'Various-dest1=..', it sets @dest1@ to this when a 'Various artists' CD is ripped.
- Restores EAC if it was minimized when encoding, in order to make sure EAC log gets saved.
- Tried to avoid unintentional closing (before EAC). I  haven't had this problem myself, though.
- Added REACT info on EAC title line instead of TrayTip. (found it a little annoying).


I haven't got time to work on this for a while, so hopefully it works as expected.
Have fun.
[a href="index.php?act=findpost&pid=336033"][{POST_SNAPBACK}][/a]


Hrm. I just tried it out. Sorry, but there seems to be an issue. (Could be my stupidity.)

I've got:

[bill-tracks]

destdir1=F:\Music\CDs - Personal Rips - Lame 3.97b1 V2
dest1=@destdir1@\$artist$\$album$\@track@ $title$
various-dest1=@destdir1@\Various\$album$\$artist$\@track@ $title$

destdir2=F:\Music\CDs - Personal Rips - WavPack 4.22 Lossless
dest2=@destdir2@\$artist$\$album$\@track@ $title$
various-dest2=@destdir2@\Various\$album$\$artist$\@track@ $title$

1=>@encdir@\lame.exe -V2 --vbr-new --nohist --add-id3v2 --pad-id3v2 --ta "@artist@" --tt "@title@" --tl "@album@" --ty "@year@" --tn "@track@" --ignore-tag-errors --tg "@genre@" "@source@" "@dest1@.mp3"
2=>if errorlevel 1 pause
3=>@encdir@\wavpack.exe -hmy -w "ARTIST=@artist@" -w "ALBUM=@album@" -w "TITLE=@title@" -w "TRACK=@track@" -w "YEAR=@year@" -w "GENRE=@genre@" "@source@" "@dest2@.wv"
4=>if errorlevel 1 pause
5=>del "@source@"

When I tried ripping a "various CD" the @destdir1@ and @destdir2@ variables didn't get set so @destdir1@\Various\... was actually passed to the encoders:

C:\Program Files\REACT>C:\PROGRA~1\REACT\Encoders\lame.exe -V2 --vbr-new --nohist --add-id3v2 --pad-id3v2 --ta "Gloria Estefan & Miami Sound Machine" --tt "Anything For You" --tl "Billboard Top Hits 1988" --ty "1988" --tn "05" --ignore-tag-
errors --tg "Eighties" "E:\Temp\Vtmp842(2.wav" "@destdir1@\Various\Billboard Top
Hits 1988\Gloria Estefan & Miami Sound Machine\05 Anything For You.mp3"

I removed the various-destN lines and tried ripping the various CD again. This time @dest1@ didn't get replaced so it was passed to the encoders:

C:\Program Files\REACT>C:\PROGRA~1\REACT\Encoders\lame.exe -V2 --vbr-new --nohist --add-id3v2 --pad-id3v2 --ta "Expose" --tt "Seasons Change" --tl "Billboard Top Hits 1988" --ty "1988" --tn "03" --ignore-tag-errors --tg "Eighties" "E:\Temp\
Vtmp8)58-.wav" "@dest1@.mp3"

Perhaps the dest1 value is not being created when a various CD is ripped and there is no various-dest1= line?

Edit: The REACT.ini Version value was not updated to 0.992 when I told REACT to update the config.

Edit: When the value of dest1 changes for each track, the logic in the sample REACT.ini that loops thorugh all tracks from a CD (in a single directory) will probably not work correctly.

I'm reverting to 0.991 for now.
Title: REACT v0.990 released
Post by: tycho on 2005-10-21 09:12:37
Quote
have started to try this application out today. I have a couple of questions. Is it possible to calculate REPLAYGAIN_TRACK_GAIN and REPLAYGAIN_TRACK_PEAK on the individual tracks inside a FLAC with embedded cuesheet and have these calculated values in the cue that is stored in the vorbis comment?

Foobar does that in its own special way, by adding a number of tags to the image.
Quote
Also, is there a way to make it so that spaces are replaced by underscores? I have this checked off in EAC but there appears to be no effect.

No sorry. I should have added space as one of the replacement characters in the 'Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|'|#|[|] ' key. Maybe in the future.

@Bill02888.
You must specify a Various-destdir1=.. as well. 

Note 1: Only one of 'destdir1' and 'Various-destdir1' is expanded to @destdir1@. However, my intention was that when Various-destdir1 isn't defined, it should have falled back to the regular destdir1, but due to a small bug it didn't. So your setup should have worked!  Will be fixed in the next update.

Note 2: You don't have to define destdir1 or Various-destdir1 at all, but dest1 and Various-dest1 must then be self-contained paths.

Quote
Edit: The REACT.ini Version value was not updated to 0.992 when I told REACT to update the config.

Yes, you must move away the INI-file, and a new one will be created.
Quote
Edit: When the value of dest1 changes for each track, the logic in the sample REACT.ini that loops thorugh all tracks from a CD (in a single directory) will probably not work correctly.

Yes, but this is nolonger a problem in v0992, because Various-destdir1 (by default, at least) defines a path which puts all tracks in one directory.

Sorry, this is all quite complicated, but allowing all this flexibility makes it so.
Title: REACT v0.990 released
Post by: kindofblue on 2005-10-21 09:35:01
does enclosing destdir1 in quotes make any difference? as in:

destdir1="F:\Music\CDs - Personal Rips - Lame 3.97b1 V2"

edit: never mind. didn't see tycho's post.

@tycho: thanks for including the @cdartist@ parameter.
Title: REACT v0.990 released
Post by: tycho on 2005-10-21 11:17:36
kindofblue: you're welcome.
I've uploaded v0.993. Should fix the problems above.

bluestat: you may have spaces replaced by underscores by append |_ to  the replacement key:
Code: [Select]
Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|'|#|[|]|_
Title: REACT v0.990 released
Post by: Synthetic Soul on 2005-10-21 11:46:15
Thanks again tycho.

I believe I now have my configuration that could replace my batch files:

Code: [Select]
; -- wavpack --
[WAVPACK-image]
Description=Wavpack image with embedded cuesheet and EAC log with PAR2 data and CSV log
ImageExt=wv
CuesheetExt=wv.cue
destdir1=@musicdir@\Wv\$artist$\$album$
destdir2=@musicdir@\Log
1=>WAVPACK.EXE -hm -w "CUESHEET=@@cuesheet@" -w "LOGFILE=@@eaclog@" -w "ARTIST=@artist@" -w "ALBUM=@album@" -w "YEAR=@year@" -w "GENRE=@genre@" "@source@" "@image@"
2=>WVUNPACK.EXE -vm "@image@"
3=>IF ERRORLEVEL 1 PAUSE
4=>PAR2.EXE c -s204800 -r10 -- "@image@"
5=>DEL "@source@"
6=>MOVE "@eaclog@" "@destdir1@"
7=>MOVE "@destbase@.*" "@destdir1@"
8=>IF NOT EXIST "@destdir2@\cdbackup.csv" ECHO Disc,Artist,Album,Date,Time> "@destdir2@\cdbackup.csv"
9=>ECHO @comment@,"@artist@","@album@",%DATE%,%TIME%>> "@destdir2@\cdbackup.csv"
Title: REACT v0.990 released
Post by: tycho on 2005-10-21 12:18:01
Looks good. You should probably use $cdartist$ in the destdir1 to get "Various" if you ever buy such CD's .  EAC will set $artist$ as the artist of the *second* track of the CD - an EAC "feature". 

PS. also make sure that 'ImageNaming' pattern starts with "$artist$ -...", so that REACT can detect whether %o starts with "Various -" when the compression task is executed.
Title: REACT v0.990 released
Post by: Synthetic Soul on 2005-10-21 13:09:12
OK, thanks for the tip.

FYI: I had a play yesterday, and I determined whether the album was a Various Artist album by querying the checkbox value, at the same time you grab the other values, using:

$va = ControlCommand($g_eacTitle, $g_eacText, "mybutton16", "IsChecked", "")

This would allow users (like me!) who don't use $artist$ as the prefix to the filename.

Edit: I've just realised why this won't work - i.e.: that when fEncode() is called it is another instance of REACT and therefore the variable is not available.  Doh!  I suppose it could be saved in the INI.


Edit 2: Don't worry, I don't think this is a problem anyway.  I got it to work by storing the value in the INI - but it seems that mine start with "Various" anyway, so...
Title: REACT v0.990 released
Post by: tycho on 2005-10-21 15:04:36
I don't think there is any point in grabbing the "Various Artist" checkbox value, because the encodings are queued, and the checkbox may not be in sync with the encoding that is currently running.

And you don't need it. When ripping to tracks, you shouldn't care which naming scheme EAC uses, because the REACT dos-script will move the files to the directory / naming of your likings anyway - which is excatly what is happening in the default configurations.

For CD images it is the same, really. REACT can move the images to whichever name you like, but the default configs only moves them to a directory, and keeps the names that was set in the Save-dialog when ripping the image.

Again, REACT decects whether it is a "Various Artists" CD by checking that the nine first letter of name passed in EAC's %o parameter is "Various -". Mind you, this is the output file name built from the naming scheme, stripped from ALL directories. If you place "%D -" at the beginning of the naming scheme, or just after the last "\" in the scheme, REACT will detect it fine.

In image mode, %o is the filename passed in the Save-To dialog box.

edit: typos.
Title: REACT v0.990 released
Post by: bluestat on 2005-10-21 15:42:32
Quote
bluestat: you may have spaces replaced by underscores by append |_ to  the replacement key

I tried it out and it works great, thank you tycho.
Title: REACT v0.990 released
Post by: dli on 2005-10-21 20:10:39
Quote
Again, REACT decects whether it is a "Various Artists" CD by checking that the nine first letter of name passed in EAC's %o parameter is "Various -". Mind you, this is the output file name built from the naming scheme, stripped from ALL directories. If you place "%D -" at the beginning of the naming scheme, or just after the last "\" in the scheme, REACT will detect it fine.

In image mode, %o is the filename passed in the Save-To dialog box.
[a href="index.php?act=findpost&pid=336261"][{POST_SNAPBACK}][/a]


Are you working around the bug in EAC in image mode with "Various Artists" CDs where %a is not passed as "Various" but instead set to the artist name of the first CD track?
Title: REACT v0.990 released
Post by: tycho on 2005-10-21 21:24:12
Yes, $cdartist$ is set to "Various" on Various Artists CDs, otherwise it equals $artist$.  When ripping to images, EAC sets %a to the artist of the *second* track (for some reason) on the CD, and you won't know that it is a "Various Artist" CD. So in REACT, $cdartist$ woks similar to %D in EAC's naming scheme. Hope this helps..
Title: REACT v0.990 released
Post by: Gabes Dad on 2005-10-28 04:27:25
I am having the problem of when trying to an image rip (whether via the F10 key or going to Action->Copy Image and Create Cuesheet->Compressed . . .) - REACT always activates its track configurations and not the image configurations.

Does anyone else have this problem or know why this might be happening?  Thanks.
Title: REACT v0.990 released
Post by: Synthetic Soul on 2005-10-28 08:34:07
Certainly not happening for me - works fine for my [WAVPACK-image] section.

I suspect that your section is titled wrongly.  Please ensure your section is prefixed [<encoder>-image].

Looking at the code:

Code: [Select]
IniReadSection($g_iniFile, $g_config & "-image")
If @error Then
   IniReadSection($g_iniFile, $g_config & "-tracks")
   ...

.. whcih means that if a suitable <encoder>-image section is not found it will revert to <encoder>-tracks.
Title: REACT v0.990 released
Post by: tycho on 2005-10-28 12:08:54
Actually, that code only checks that your config selection either has a -image or a -track INI-section. E.g. if you mistype, e.g Config=VAWPACK, og something, it will notify you.  I'm not sure what happens if you only have a [<config>-tracks], and no -image, and then press F10, but it won't work for sure.

If your problem persists, you should try to move away your REACT.ini file, and let REACT generate a new one, then move over your self made configs to the new INI file.
Title: REACT v0.990 released
Post by: Synthetic Soul on 2005-10-28 12:26:08
Apologies for the misinformation.

I guess I saw what looked like a square peg and was too quick to stick it in the square hole.

Edit: At the risk of looking foolish again I would assume that this is actually the code in question:

Code: [Select]
$config = $arg1 & "-tracks"
    
If FileExists($cuesheet_org) Then
   $config = $arg1 & "-image"


If I'm right, somehow the cuesheet isn't named as expected.

It may be worth reconfiguring EAC as well as reseting your INI.
Title: REACT v0.990 released
Post by: Gabes Dad on 2005-10-28 14:50:26
I am not sure exactly what was wrong, but uninstalling EAC and reinstalling EAC solved my problem.

Thanks for the suggestions though.
Title: REACT v0.990 released
Post by: Gabes Dad on 2005-10-28 15:05:57
Just as a side note, I finally got my config to do what I wanted.  It initially scans and repairs the source image with DeGlitch (which I am sure some of you will disagree with in creating a lossless backup), it creates separate flac tracks with RG album and track tags, and it creates separate ogg album scaled tracks with RG track tags.  For various artists I would create a separate config rather than using the variousdest variable (my various schemes also include different directory structures.  So, here it is if anyone else needs some reference configs:

Code: [Select]
[FLAC_OGG-image]
Description=Create RG album/track flac -q6 tracks + album scaled and track RG ogg -q2 tracks.
ImageExt=wav
CuesheetExt=wav.cue
WaveGainAnalysis=0
WaveGainExtraOpt=
destdir1=@musicdir@\Archive Music\$artist$\@album@
dest1=@destdir1@\$artist$ - @album@ - @track@ - $title$
destdir2=@musicdir@\Portable Music\$artist$\@album@
dest2=@destdir2@\$artist$ - @album@ - @track@ - $title$
1=>@encdir@\DeGlitch\DeGlitch.exe -y "@source@"
2=>@encdir@\ACDIR\acdir.exe --overwrite --output "@destdir1@\$a - $T - $n - $t.flac" --pipe "@encdir@\FLAC\flac.exe -6 -f -T ARTIST=$#a -T ALBUM=$#T -T TITLE=$#t -T TRACKNUMBER=$#n -T DATE=$#r{DATE} -T GENRE=$#r{GENRE} -T ENCODEDBY=$qEAC + REACT + flac 1.1.2$q -o $#o -" "@sourcecuesheet@"
3=>cd /d "@destdir1@"
4=>@encdir@\REACT\Encoders\Glob.exe -c -v "@encdir@\FLAC\metaflac.exe --add-replay-gain" *.flac
5=>@encdir@\WaveGain\WaveGain.exe -y "@source@"
6=>@encdir@\ACDIR\acdir.exe --overwrite --output "@destdir2@\$a - $T - $n - $t.ogg" --pipe "@encdir@\Ogg\Lancer_aoTuVb4\oggenc2.exe -q 2 --artist $#a --album $#T --title $#t --tracknum $#n --date $#r{DATE} --genre $#r{GENRE} -c $qENCODEDBY=EAC + REACT + Lancer aoTuVb4 ogg$q -o $#o -" "@sourcecuesheet@"
7=>@encdir@\Ogg\VorbisGain.exe "@destdir2@"
8=>move "@eaclog@" "@destdir1@\@artist@ - @album@.log"
9=>move "@cuesheet@" "@destdir1@\@artist@ - @album@.cue"
10=>del "@source@"


Anyway, thanks for the great tool, tycho.  I can finally start backing up my CD collection the way I want.
Title: REACT v0.990 released
Post by: Synthetic Soul on 2005-10-28 15:20:54
When using ACDIR you should really use the tilde to ensure valid folder or filenames, e.g.:

--output "@destdir1@\$a - $T - $n - $t.flac"

... to:

--output "@destdir1@\$~a - $~T - $n - $~t.flac"

This will ensure that illegal characters are replaced by a space.


Alternatively I guess you could use REACT's variables instead, so that you can specify the replacement characters (Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt). E.g.:

--output "@destdir1@\$artist$ - $album$ - @track@ - $title$.flac"

I think. 
Title: REACT v0.990 released
Post by: Gabes Dad on 2005-10-28 15:32:09
Synthetic Soul,

thanks for the tip.

I actually tried using REACT's variables, like you suggest in the latter half of your post, but they did not work.
Title: REACT v0.990 released
Post by: tycho on 2005-10-28 15:40:13
For image backups, the $title$ and $track$ is undefined (EAC sets them as for track 2 on the CD), so do as Neil suggested first - go with $~a, $~T, etc.
Title: REACT v0.990 released
Post by: Gabes Dad on 2005-10-28 15:56:47
OK, I found a very wierd occurence with REACT.

I'm ripping a CD in the background, and EAC is currently writing a WAV image.

I am also working in Photoshop at the same time.  I tried to create a new document and manually set the page size, however, I was unalbe to type any number input in (whether via keypad or above the QWERTY layout) and when pressing "0" on the keypad (which is also "Insert" when numlock is off) it inserted "$artist$ - $album$ - @track@ - $title$", which is my file naming scheme used in REACT, in the box intended for page size.

So I opened notepad and my numbers worked as they should.  I was able to type the number, copy it, and paste into the Photoshop field for page size.

Any know why this is happening, and secondly can anyone prevent such things from happening in the future?

Thanks.
Title: REACT v0.990 released
Post by: Bill02888 on 2005-10-28 17:08:02
I've seen some strange things when REACT and EAC are running and I try to work in other windows. EAC will come to the foreground. I'll try to bring focus back to the window I'm interested in, but EAC will take over again. This will happen several times before EAC finally stays in the background for a while. If I minimize EAC, it'll restore periodically too, taking over when I'm in the middle of typing into Word or another app.

Also, sometimes when I'm done ripping one CD and change to another and press F4, instead of getting the REACT F4 action, EAC will scan for gaps.

The last strange thing is that sometimes the EAC window will suddenly go away, but REACT continues to process requests. Often when this happens and REACT is done processing, I'll briefly see the EAC-will-shutdown-the-computer-in- dialog box, which leads me to believe that I got a little to close to the shutdown-when-RIP-complete checkbox, OR that I pressed some key that caused the box to be checked when EAC grabbed focus from another window. I wish I could disable that checkbox. It's easy (when trying to change focus from one window to another, or when trying to get EAC to stay in the background) to click in the seemingly clear area of the active RIP window, but end up checking that box.

Other than those three things, REACT and EAC work absolutely superbly for me!!! Thanks, tycho!

- Bill
Title: REACT v0.990 released
Post by: wolfsong on 2005-10-31 02:13:03
I'm upgrading from an older version of REACT and unsure of what my INI should look like.

The old file:
Code: [Select]
[Settings]
Version=0.983
EAC=D:\Audio\Exact Audio Copy .95\EAC.exe
WaveGain=D:\Audio\WaveGain\WaveGain.exe
LogFile=D:\Audio\Exact Audio Copy .95\REACT_log.txt
ImageHotkey={F10}
ImageNaming=$artist$--$album$--@year@
KeyRemap1={F4}|+{F5}
KeyRemap2=|
KeyRemap3=|
MinimizeCompressionWindow=0
ProcessPriority=1
ImageMenuString=&Action|Copy &Image && Create CUE Sheet|Compressed...
SaveWaveformString=Save Waveform
Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|'|#|[|]

[lame-image]
DESCRIPTION=Create RG album gained lame -V0 and -V4 mp3 tracks using ACDIR
ImageExt=wav
CuesheetExt=wav.cue
WaveGainAnalysis=1
WaveGainExtraOpt=
outdir1=H:\TAGZ\-MB\-ARCHIVE\$artist$\$album$
outdir2=H:\TAGZ\-MB\-PORTABLE\$artist$\$album$
1=>D:\Audio\ACDIR\acdir.exe --overwrite --output "@outdir1@\[$n] $t.mp3" --pipe "D:\Audio\LAME\3.97b1\lame.exe -V0 --vbr-new --scale @scale@ --ta $#a --tl $#T --tt $#t --tn $#n --ty $#r{DATE} --tg $#r{GENRE} --tc $qAlbum gained: @gain@; #T @numtracks@$q - $#o" "@sourcecuesheet@"
2=>D:\Audio\ACDIR\acdir.exe --overwrite --output "@outdir2@\[$n] $t.mp3" --pipe "D:\Audio\LAME\3.97b1\lame.exe -V4 --scale @scale@ --ta $#a --tl $#T --tt $#t --tn $#n --ty $#r{DATE} --tg $#r{GENRE} --tc $qAlbum gained: @gain@; #T @numtracks@$q - $#o" "@sourcecuesheet@"
3=>if errorlevel 1 pause
4=>del "@cuesheet@"
5=>del "@source@"


The new file (at least the important sections I've edited so far):
Code: [Select]
[Settings]
Config=LAME
EAC=EAC.exe
musicdir=H:\TAGZ\-MB
encdir=D:\Audio\Exact Audio Copy .95\Encoders
LogFile=D:\Audio\Exact Audio Copy .95\REACT_993_log.txt
CodePage=1252
MinimizeCompressionWindow=0
ProcessPriority=1
ImageHotkey={F10}
ImageNaming=$artist$ - (@year@) $album$
KeyRemap1={F4}|+{F5}
KeyRemap2=|
KeyRemap3=|
Sla_Bks_Col_Qst_Bar_Quo_Ast_Lt_Gt=-|-|-||!|'|#|[|]
Version=0.993
Debug=0

; -- lame MP3 --
[LAME-image]
Description=LAME -V2 RG album gained (scaled) mp3 image with embedded APE2 tagged cuesheet, EAC log, and id3v1 tags
ImageExt=mp3
CuesheetExt=mp3.cue
destdir1=@musicdir@\IMAGES\$cdartist$
1=>@encdir@\WaveGain.exe -a "@source@" --exec @encdir@\lame.exe -V0 --vbr-new --nohist --scale %%ALBUM_SCALE%% --tc "RG_APPLIED: %%ALBUM_GAIN%% dB" "@source@" "@image@"
2=>@encdir@\Tag.exe --force id3v1 --force ape2 -f "CUESHEET=@cuesheet@" -t "ARTIST=@artist@" -t "ALBUM=@album@" -t "YEAR=@year@" -t "GENRE=@genre@" -t "TOTALTRACKS=@numtracks@" -t "FREEDB=@freedbid@" -t "CRC=@crc@" -f "EAC_LOG=@eaclog@" "@image@"
3=>del "@source@"
;; 4=>move "@eaclog@" "@destbase@.mp3.log"
4=>del "@eaclog@"
5=>move "@destbase@.*" "@destdir1@"


I'm not really sure about several things in the new version.

Do I still need ACDIR?
Will I still end up with individual album gained MP3 files?
Does the new version handle punctuation marks (? ! * , . / \)?
Do I need a second destdir1=@musicdir@\IMAGES\$cdartist$ statement to create the PORTABLE MP3 files?
Is the above statement only for the image files?
Where do I specify where I want the final files to reside?
If I want it to pause on errors like before do I change DEBUG to equal 1?

Lastly, the biggest problem I ran into with the old version was that after the process completed I was left with an empty folder. If I removed all puntuation from the file that usually resolved it but I had to start from scratch. Is there a way to preserve the source wav if something fails and rerun the remainder of the process? I assume this would mean editing just the cue sheet but I'm not really sure.

Thanks.
Title: REACT v0.990 released
Post by: leland on 2005-11-08 22:10:23
<idiocy deleted for now>

<more idiocy to come>