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 1273171 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

REACT 2 Released

Reply #375
Was there ever a fix for albums with data tracks on the end.  I have been trying to make the postprocessing occur at @numtracks@-1 for these albums but the decision in the track.cfg seems to hold numtracks as a string making it hard to subtract one (for a newbie like me).  Any help out there?

If this cant be fixed in react standard, maybe SS's mod would allow the user to overwrite numtracks for these few albums?  Just musing on the idea

REACT 2 Released

Reply #376
Was there ever a fix for albums with data tracks on the end.  I have been trying to make the postprocessing occur at @numtracks@-1 for these albums but the decision in the track.cfg seems to hold numtracks as a string making it hard to subtract one (for a newbie like me).  Any help out there?

If this cant be fixed in react standard, maybe SS's mod would allow the user to overwrite numtracks for these few albums?  Just musing on the idea

Try setting @numtracks@ to a variable and using that to test
Code: [Select]
SET /a endtrack=@numtracks@-1

of if that doesn't work

SET _numtracks=@numtracks@
SET /a endtrack=%_numtracks%-1

REACT 2 Released

Reply #377
Cheers, I'll give that a try.  I could then change the config for an album with a data track (I only have a handful)

I wonder if it could be possible to test for the presence of a data track and have react decide automatically

REACT 2 Released

Reply #378
Synthetic Soul and Wraithdu
Thanks for both of your tips on this  . I am going to have a go with both options over the weekend to see how I get on before going for one of them. I'll let you know which one I ended up with.

Both,
I thought I would let you know how I got on with both options.

I tried the latest version of AlbumArtDownloader first. In an ideal world it did exactly what I was looking for. Trouble is it was very very slow and even reduced my machines virtual memory to zero and I had to reboot. It was just unworkable. My laptop is about 4.5 years old so it probably isn't up to running something that requires .NET3

I then tried Synthetic Souls solution and this worked perfectly apart from it deleting my original file. I REMed out the delete %cover% at the end of the cfg to fix this

So I am going to stick with this solution. Thanks for your help.

REACT 2 Released

Reply #379
Try setting @numtracks@ to a variable and using that to test
Code: [Select]
SET /a endtrack=@numtracks@-1


This worked a treat.  Thank You!.  My Enhanced CD was post processed.  The cuesheet needs a manual tweak but that is it.  Now I need to use a TAG is SS's mod to tell the script whether I have an enhanced CD

REACT 2 Released

Reply #380
I assume that you could do this yourself, but just in case, this is what I would do (untested):

Create a new token called "datadisc" in your Additional Meta Data defaults, and set it to "0" (false):

Code: [Select]
[DefaultMetaData]
discnumber=1
totaldiscs=1
discname=
datadisc=0

In your track config, add the following near the top of the file:

Code: [Select]
SET realNumTracks=@numtracks@
IF [@datadisc@] EQU [1] SET /a realNumTracks=@numtracks@-1

Then change:

Code: [Select]
IF NOT @track@==@numtracks@ GOTO end_post_process

to:

Code: [Select]
IF [@track@] NEQ [%realNumTracks%] GOTO end_post_process

Then, when you encounter a disc with a data track, simply open up the Additional Meta Data dialogue (Alt+F5) and change "datadisc" to "1" (true).  Easy!
I'm on a horse.

REACT 2 Released

Reply #381
Thanks again to SS.  I Just wanted to chip in to hammer home the significance of the above.
This is the simplest fix I have seen for handling ENHANCED CDs.
(The problem usually encountered is that you are not ripping the final track, therefore React does not perform any post processing)

If anyone has an alternative solution to the Enhanced CD problem then let us know here.  Cheers

REACT 2 Released

Reply #382
Edit

found my own answer.

I was adding: IF EXIST "@albumfile@.[mg].cue" COPY /Y "@albumfile@.[mg].cue" .

to the track cfg file but I left out the period at the end.



Hi all,

My react2 setup is simple.  I've only activated stuff in the .INI havent changed anything in the cfg files.

I have 1 for save cue sheets and I get 4 cue sheets when I copy flac image and tracks {F10} but not when I compress just to flac tracks {F4}.

Is there something I need to do to get the noncompliant cuesheet for multiple files?

REACT 2 Released

Reply #383
Trying to rip 100% Columbian by Fun Lovin' Criminals, to .flac results in zero files.  For some reason the final commandline appears as follows:

D:\CDs\Fun Lovin' Criminals\100 Colombian>C:\PROGRA~1\Audio\REACT2\tools\flac.exe -8 -f  -T artist="Fun Lovin' Criminals" -T album="100USERNAME\Documents and Settings\Peter\My Documents\My Music\Ftmp(842(.wav" -o "14 - Fisty Nuts.flac"

If I remove the % from the album title then everything goes fine

REACT 2 Released

Reply #384
The addition of the extra % has caused DOS to get totally confused with variable names, essentially inverting variable name and static text.  I.e.:  It has treated everything following that %, until it meets another (which should actually be the start of a variable name, not the end), as a variable name.

Not sure of a workaround for this. 

Edit: I think % has to be replaced with %% to be taken as text, so I guess it may just be a case of ensuring that any % is replaced by %% in REACT (?).
I'm on a horse.

 

REACT 2 Released

Reply #385
I have noticed a problem with '&' as in Blur's Track 'Girls & Boys'
The REACT name becomes 'Girls .flac'

The TAGs are fine and the filename ends up truncated in my SED modified cuesheet too (so everything works).  However the perfectionist in me does not like the poorly named files.  Why is this happening?

note:  the EAC name and the unmodified cuesheet has the full name (and the original EAC wav extension)

REACT 2 Released

Reply #386
As per the % issue above, this will be because & is a special character in DOS, used to execute multiple commands.

I can only assume that this is down to the lines:

Code: [Select]
IF @various@==0 SET TrackName=@TrackName_SA@
IF @various@==1 SET TrackName=@TrackName_VA@

... which would produce (for my INI):

 
Code: [Select]
IF @various@==0 SET TrackName=01 - Boys & Girls
...

.. which is basically saying 'Set the variable TrackName to "01 - Boys" and then execute the command  "Girls"'.

I suspect you would see a line in the console saying:

Code: [Select]
'Girls' is not recognized as an internal or external command,
operable program or batch file.

Again, maybe REACT needs to replace "&" with "^&" before replacing the token (?).

Edit: to clarify, to work correctly the line should be:

Code: [Select]
IF @various@==0 SET TrackName=01 - Boys ^& Girls

(The caret escapes the ampersand)

Edit 2: Bah!

Actually, looking at the source and putting my thinking head on, I realise that this is not as easy as I imagined.  REACT will replace @TrackName_SA@ with the value set by TrackName_SA in the INI, and then REACT will replace the tokens used in that value - so it's not really possible to pin down that value.

Therefore, I would suggest doing this:

Code: [Select]
IF @various@==0 SET TrackName="@TrackName_SA@"
IF @various@==1 SET TrackName="@TrackName_VA@"
SET TrackName=%TrackName:&=^&%
SET TrackName=%TrackName:"=%

This surrounds the original value with quotes so the ampersand doesn't cause a problem.  It then replaces "&" with "^&" and finally removes the quotes.
I'm on a horse.

REACT 2 Released

Reply #387
I do apologise if this has been covered before, but with so many posts and so many different issues it is easy to miss things. (Perhaps a dedicated RACT forum is required? )

So, on to my question...

Using the EAC + REACT combo, can I tag the following example of an album in the follwing way?

Album: Trance Nation (This is the actual name of the album)
Disc Number: 1 or 2 (It is a two disc album)
Album Artist: Ministy Of Sound
Mixed by: System F - Ferry Corsten
Track Artists: Insert track artist here

Here I am torn as to who the album artist actually is, because it could justifiably be either. (Not a big deal, preferably having album artist as Ministry Of Sound)

My requirement is two fold in that I want this to be under the folder structure:

Ministry Of Sound/Trance Nation/Disc x/tracknumber Trackname

I also want the tags to be handled correctly and include the "Mixed By" or eqivalent tag, if it exists.

Is this possible, and if it is, how do I configue REACT to implement this in both Id3v2 tags (for my mp3's) and APEv2 tags (for my wavpack's)?
FLAC + Foobar2000 // AAC + iPhone

REACT 2 Released

Reply #388
You can do as you wish, but you would probably need my mod, and a reasonable amount of config editing.

I have created a mod of REACT that allows you to easily insert and update tokens (e.g.: @discnumber@).

I have published amendments to the config to amend the path to utilise @discnumber@ or @discname@ tokens.  Unfortunately the wiki appears to be down at the moment so I can't provide a link.

My mod would allow you to easily set @discnumber@, @albumartist@ and @mixedby@ tokens (and @totaldiscs@ if you want).  However, the bit that takes the time is amending the config to utilise these tokens.  As I say, I've published code for adding the disc number to the path.  Setting a "Mixed By" tag shouldn't be too complicated.  I think you'd just need some code that checked whether a value was set for @albumartist@, and set the tag accordingly.

In essence, yes it is possible, with a little work.

NB: You could do it without my mod, by directly adding values to the REACT INI, but the idea with the mod is that you can easily adjust values using a GUI, from within EAC.  It depends how often you intend to use this approach.
I'm on a horse.

REACT 2 Released

Reply #389
Code: [Select]
IF @various@==0 SET TrackName="@TrackName_SA@"
IF @various@==1 SET TrackName="@TrackName_VA@"
SET TrackName=%TrackName:&=^&%
SET TrackName=%TrackName:"=%

This surrounds the original value with quotes so the ampersand doesn't cause a problem.  It then replaces "&" with "^&" and finally removes the quotes.


Superb!  Any reason that this should not be standard in React?  The problem isn't noted anywhere and must be fairly common (I have had to correct about 10% of my albums!)

NB: You could do it without my mod, by directly adding values to the REACT INI, but the idea with the mod is that you can easily adjust values using a GUI, from within EAC.  It depends how often you intend to use this approach.


A guide to this might be a good idea for those of us with less experience.  I think I have the basics but was wondering about some string manipulation.

In foobar I do stuff like "The Cure" to "Cure, The" for my album lists.  Now, could I take the EAC name "Ima (Disc1/2) and have REACT recognise the '(Disc1/2)' and strip it off the name and use it to fill in DISC and TOTALDISCS?  Just a thought for the moment.

REACT 2 Released

Reply #390
Superb!  Any reason that this should not be standard in React?  The problem isn't noted anywhere and must be fairly common (I have had to correct about 10% of my albums!)
The perfectionist in me finds the code a bit of a hack, but it works, and I can't think of a reason why it couldn't be included.  I have been wondering about tackling it in the REACT source though, so REACT would detirmine whether TrackName_SA or TrackName_VA was to be used, do a replace on all tokens within the value, and then, e.g., replace "&" with "^&".

I've already added code to my mod to deal with the "%" issue above.  I was hoping to have a think about the "&" issue and then release beta 10, which, incidentally, will also include the ability to prefix "temporary" (process-level) variables (like your @datadisc@) with an underscore (@_datadisc@), to stop them being added to the cuesheet.

 
A guide to this might be a good idea for those of us with less experience.  I think I have the basics but was wondering about some string manipulation.

In foobar I do stuff like "The Cure" to "Cure, The" for my album lists.  Now, could I take the EAC name "Ima (Disc1/2) and have REACT recognise the '(Disc1/2)' and strip it off the name and use it to fill in DISC and TOTALDISCS?  Just a thought for the moment.
I'm trying to get away from writing people's code for them though, unless I'm really bored!  I potentially have some evening work on the horizon, so will be just too damn busy.

DOS' string manipulation is pretty damn poor, so I think the basic answer is to gem up on SED and use that.  You could use SED to pick out the disc number and total discs from "Album Name (Disc 1/2)", and change "The Artist" to "Artist, The".  I'm no expert with SED.

Edit: Actually, what you want to do with the disc number is quite similar to my markup idea that I was pursuing before moving on to the GUI idea, e.g.: setting CD Title to "Album Name <discnumber>1</discnumber><totaldiscs>2</totaldiscs>" and then extracting the three parts.  I had the code to extract the parts, but my main issue was the mess it made of the filenames, etc.  I decided the GUI idea was probably equally, if not more, easy for the user to work with.  I suppose maybe you want the format "Album Name (Disc 1/2)" in some places, but the ability to use "Album Name" in others?  Or did you think it may be just quicker to use, and allow you to leave some freedb entries as they are?
I'm on a horse.

REACT 2 Released

Reply #391
I suppose maybe you want the format "Album Name (Disc 1/2)" in some places, but the ability to use "Album Name" in others?  Or did you think it may be just quicker to use, and allow you to leave some freedb entries as they are?


A mix of the two.  I leave the cds in separate folders but want them together in foobar so the folder is "Album Name (Disc 1/2)" whilst the tags should be "Album Name".  I do remember your suggestion before you started on the GUI.  In any case the GUI is more flexible.

I understand why you might not want to write others code.  I have always been amazed at how much help you offer.  The bit we really need documented is how users can add tokens to the ini and use them.  I certainly did not appreciate that this possibility existed.

e.g. When does the ini get parsed?  Before every rip or on load.  If I change the cfg do I need to reload React?

REACT 2 Released

Reply #392
A mix of the two.  I leave the cds in separate folders but want them together in foobar so the folder is "Album Name (Disc 1/2)" whilst the tags should be "Album Name".  I do remember your suggestion before you started on the GUI.  In any case the GUI is more flexible.
If I understand correctly you should really do this in foobar with titleformatting - in simple (not correct!) terms:

Code: [Select]
%album% (Disc %discnumber%/%totaldiscs%)

I use:

Code: [Select]
[%album%]
[ ' ('%album subtitle%')']
[' ('%discname%')']
$if($greater(%totaldiscs%,1),[' ('Disc %discnumber%')'])


The bit we really need  documented is how users can add tokens to the ini and use them. I  certainly did not appreciate that this possibility existed.

e.g. When does the ini get parsed?  Before every rip or on load.  If I change the cfg do I need to reload React?
The [UserTrackFormats], [UserOutputNames] and [UserSettings] sections are all read every time REACT runs.  You can add your own variables to these sections as REACT just grabs everything in the section, not each variable by name.

This means that you could actually add discnumber=1 in the [UserSettings] section, without my modded REACT, and you could still use @discnumber@ (not $discnumber$) in your config.  My mod mainly has the benefit of easy access to your tokens through a GUI, rather than having to edit the INI by hand for each disc - but you coud do it this way.
I'm on a horse.

REACT 2 Released

Reply #393
If I understand correctly you should really do this in foobar with titleformatting - in simple (not correct!) terms:

Code: [Select]
%album% (Disc %discnumber%/%totaldiscs%)


Do what?  Do you mean grab the tags from the filename or modify them using a script from the tags that react has made?  I can manually change the tags in 'properties' but I do not seem to have masstagger (why would this be?)  I use titleformat for my album tree and file info and in columns UI so I am a little familiar with it

The [UserTrackFormats], [UserOutputNames] and [UserSettings] sections are all read every time REACT runs.


I am still not clear.  When the exe is run, or when you press F4 to rip?

REACT 2 Released

Reply #394
Do what? Do you mean grab the tags from the filename or modify them using a script from the tags that react has made? I can manually change the tags in 'properties' but I do not seem to have masstagger (why would this be?) I use titleformat for my album tree and file info and in columns UI so I am a little familiar with it
Sorry, I should have been more specific.  I am suggesting that you use code like that in your display script - in your case your "Album" column in ColumnsUI.

In essence, you keep %album%, %discnumber% and %totaldiscs% totally separate tag-wise, but use them all to create the value displayed by foobar for the "Album" column.

The [UserTrackFormats], [UserOutputNames] and [UserSettings] sections are all read every time REACT runs.
I am still not clear.  When the exe is run, or when you press F4 to rip?
When you press F4/F10.

When you press F4/F10 another instance of REACT is run, but it acts differently (processes your config) because of the parameters passed to it by EAC.  Therefore when you are ripping there are two instances of REACT running - one interacting with EAC, and one that processes your config and sets the batch file running.  This second instance will re-read the INI sections I quoted.  It will not re-read all the INI though.
I'm on a horse.

REACT 2 Released

Reply #395
In essence, you keep %album%, %discnumber% and %totaldiscs% totally separate tag-wise, but use them all to create the value displayed by foobar for the "Album" column.


I get you but I need to be clearer

I want to have

BT/Ima (Disc1)/01 Track1.flac

But then tagged like this
Album: Ima
Discnumber: 1
Totaldiscs: 2

And I do do what you suggested with foobar to build the album name make the display look nice.  I get all the tracks from all the discs when I add the album from the list.

I can do the tags with your mod easy enough.  I haven't tried but I think I can add the "(disc1/2)" to the end of the directory name.  Some people might add the discnumber to the filename and have both discs in one directory.  I wanted to keep it the same as for the others so you can burn the cd like any other by clicking on the cuesheet (modded by SED) without confusion.

My present solution is to go into properties in foobar for the albums that need it delete "(disc1)" from the albumtitle and fill in the discnumber fields.  I have not implemented your mod on my main ripping machine as I was in the middle of a ripping marathon and changing things was stressing me out!

REACT 2 Released

Reply #396
I'm not sure what your problem is, but if it's creating a folder using the disc number I have tackled that in a wiki article.

The config amends suggested allow you to change:

Artist Name\Album Name\01 - Title

... to:

Artist Name\Album Name\Disc 1\01 - Title

or

Artist Name\Album Name\Disc Name\01 - Title

... depending whether @discname@ is populated or @totaldiscs@ is greater than one.


Edit: In case your are confused, to achieve:

Artist Name\Album Name (Disc1)\01 - Title

... simply change

Code: [Select]
SET trackDir=%trackDir%\Disc @discnumber@

... to:
Code: [Select]
SET trackDir=%trackDir% (Disc@discnumber@)
I'm on a horse.

REACT 2 Released

Reply #397
When you press F4/F10.

When you press F4/F10 another instance of REACT is run, but it acts differently (processes your config) because of the parameters passed to it by EAC.  Therefore when you are ripping there are two instances of REACT running - one interacting with EAC, and one that processes your config and sets the batch file running.  This second instance will re-read the INI sections I quoted.  It will not re-read all the INI though.


OK, interesting.  I love React, but isn't its detailed working baffling sometimes?  Until you explain it that is!

Anyway it isn't design for everyone.  I was at a friend-of-a-friends flat at the weekend who downloads in mp3 (quite good ones mind, not a complete muppet) and I was going to tell him about the library I was building of my collection using React.  When he mentioned that he was burning mp3 onto CD and printing out labels for them I took a deep breath and kept my mouth shut.

I'm not sure what your problem is

I'm not sure anyone is! 

I haven't read the wiki as I think it is down.  I'm sure I could mod what you have done to avoid the extra directory level in your examples above (edit:  I see you have helpfully added that!).  I need to have a good look through the wiki as last time I saw it was when you created it after the SED discussions we had

Above I thought your code was to take the 'album' tag (ie "Ima (Disc1)") and separate the tags out in foobar using a script rather than my manual method.  Rather it was just a display format.  Sorry for the confusion!

REACT 2 Released

Reply #398
I couldn't access the wiki earlier but I can now.

See my edit two posts above for the simple change that you require.

Also note that the code in the article deals with setting the tags as well.
I'm on a horse.

REACT 2 Released

Reply #399
Superb.  Sorry to have made a simple discussion so complicated this morning!