REACT:Adding Support For Disc Information: Difference between revisions
m (Update to beta 9) |
(Added %imageDir% and %trackDir% section) |
||
Line 177: | Line 177: | ||
POPD | POPD | ||
:end_flac_tracks | :end_flac_tracks | ||
==%imageDir% and %trackDir%== | |||
You may note that I use lines like: | |||
SET imageDir=%imageDir%\$discname$ | |||
when I could use: | |||
SET imageDir=\$discname$ | |||
This is simply so that the same technique could be used in other sections, before ''or'' after the section, all moving toward creating a variable that extends the base path. Using this technique all sections can append, or prepend, to %imageDir% and %trackDir% harmoniously. | |||
For example, I might add another section, before these sections, to deal with an @albumsubtitle@ token. This section may end up setting: | |||
SET imageDir=%imageDir% ($albumsubtitle$) | |||
which could result in: | |||
($albumsubtitle$)\Disc @discnumber@ | |||
Revision as of 12:54, 15 May 2007
This page provides code examples to allow you to update your image and track config files to create folders and tags using the @discnumber@, @totaldiscs@ and @discname@ tokens which are provided by default with Synthetic Soul's REACT mod, REACT 2.0.ssb9.
The code used includes settings for TAK, which can be added by following the guide "REACT:Adding Support For TAK". If you do not require TAK support you can either leave this code as-is, or remove any line referring to TAK.
Requirements
- A version of REACT which has the Additional Meta Data dialogue, currently REACT 2.0.ssb9 which is discussed in the REACT 2 thread
- The beta version of metamp3, in order to set the TXXX frame "setsubtitle" for MP3 files, if @discname@ is provided.
REACT-image.cfg
Add the code below, somewhere at the beginning of your CFG file.
REM ** Create Disc-related tags if we have a set REM If a disc name has been provided IF [@discname@] EQU [] GOTO end_discname SET discName=discname SET discName=@%discname%@ IF [@discname@] EQU [%discName%] GOTO end_discname REM Set tagging switches SET Disc_Flac=-T "discname=@discname@" SET Disc_Wavpack=-w "discname=@discname@" REM SET Disc_MP3=--frame TSST:"@discname@" SET Disc_MP3=--frame "TXXX[setsubtitle]:@discname@" SET Disc_OggEnc2=-c "discname=@discname@" SET Disc_Tak=-t "discname=@discname@" SET Disc_Flac_acdir=-T $qdiscname=@discname@$q SET Disc_Wavpack_acdir=-w $qdiscname=@discname@"$q REM SET Disc_MP3_acdir=--frame TSST:$q@discname@$q SET Disc_MP3_acdir=--frame $qTXXX[setsubtitle]:@discname@$q SET Disc_OggEnc2_acdir=-c $qdiscname=@discname@$q SET Disc_Tak_acdir=-t $qdiscname=@discname@$q REM Add disc name to image and track folder paths SET imageDir=%imageDir%\$discname$ SET trackDir=%trackDir%\$discname$ GOTO :end_discnumber :end_discname REM Ensure that we have numeric values SET /A discNumber = @discnumber@ + 0 SET /A totalDiscs = @totaldiscs@ + 0 REM IF a valid disc number and total number of discs has been provided IF %totalDiscs% LEQ 1 GOTO :end_discnumber IF %discNumber% LEQ 0 GOTO :end_discnumber REM Set tagging switches SET Disc_Flac=-T "discnumber=@discnumber@" -T "totaldiscs=@totaldiscs@" SET Disc_Wavpack=-w "discnumber=@discnumber@" -w "totaldiscs=@totaldiscs@" SET Disc_MP3=--frame TPOS:"@discnumber@/@totaldiscs@" SET Disc_NeroAac=--disk "@discnumber@/@totaldiscs@" SET Disc_OggEnc2=-c "discnumber=@discnumber@" -c "totaldiscs=@totaldiscs@" SET Disc_Tak=-t "discnumber=@discnumber@" -t "totaldiscs=@totaldiscs@" SET Disc_Flac_acdir=-T $qdiscnumber=@discnumber@$q -T $qtotaldiscs=@totaldiscs@$q SET Disc_Wavpack_acdir=-w $qdiscnumber=@discnumber@$q -w $qtotaldiscs=@totaldiscs@$q SET Disc_MP3_acdir=--frame TPOS:$q@discnumber@/@totaldiscs@$q SET Disc_NeroAac_acdir=--disk $q@discnumber@/@totaldiscs@$q SET Disc_OggEnc2_acdir=-c $qdiscnumber=@discnumber@$q -c $qtotaldiscs=@totaldiscs@$q SET Disc_Tak_acdir=-t $qdiscnumber=@discnumber@$q -t $qtotaldiscs=@totaldiscs@$q REM Add disc number to image and track folder paths SET imageDir=%imageDir%\Disc @discnumber@ SET trackDir=%trackDir%\Disc @discnumber@ :end_discnumber
The code below uses the FLAC image section to demonstrate the use of the %imageDir% and %Disc_Flac% variables. You will need to amend the other sections accordingly.
IF NOT @ImageExt@==flac GOTO end_flac_image SET dest="@ImageDir_Flac@%imageDir%" IF NOT EXIST %dest% MKDIR %dest% IF %embed_cover%==1 SET Cover_tag=--picture="|image/jpeg|||@cover@" @tools@\flac.exe @Opt_Flac@ %RG_Flac% %Cover_tag% %Disc_Flac% -T "%ArtistField%=@cdartist@" -T album="@album@" -T totaltracks="@numtracks@" -T date="@year@" -T genre="@genre@" -T comment="@comment@" -T encoded-by="%USERNAME%" -T encoding="Flac @Ver_Flac@ @Opt_Flac@" --tag-from-file="cuesheet=@cuesheet@" --tag-from-file="eaclog=@eaclog@" "@source@" -o "@image@" MOVE /Y "@image@" %dest% MOVE /Y "@cuesheet@" %dest% IF %have_cover%==1 COPY /Y "@cover@" %dest%\"@basename@.jpg" :end_flac_image
The code below uses the FLAC tracks section to demonstrate the use of the %trackDir% and %Disc_Flac_acdir% variables. You will need to amend the other sections accordingly.
IF NOT @Flac@==1 GOTO end_flac_tracks SET dest="@TrackDir_Flac@%trackDir%" IF NOT EXIST %dest% MKDIR %dest% PUSHD %dest% IF @various@==1 SET VA_tag=-T $qalbum artist=@VA@$q IF %embed_cover%==1 SET Cover_tag=--picture=$#x @tools@\acdir.exe --overwrite --output "%TrackName%.flac" --extra-opt "|image/jpeg|||@cover@" --pipe "TITLE $n/$N flac $#T & @tools@\flac.exe @Opt_Flac@ %Cover_tag% %VA_tag% %Disc_Flac_acdir% -T artist=$#a -T album=$#T -T title=$#t -T tracknumber=$n/$N -T date=$q@year@$q -T genre=$q@genre@$q -T comment=$q@comment@$q -T encoded-by=$q%USERNAME%$q -T encoding=$qFlac @Ver_Flac@ @Opt_Flac@$q - -o $#o" "@sourcecuesheet@" IF %add_rg%==1 @tools@\Glob.exe -v -c @tools@\metaflac.exe %RG_MetaFlac% *.flac COPY /Y "@eaclog@" "EAClog.txt" IF %have_cover%==1 COPY /Y "@cover@" "folder.jpg" IF EXIST "@albumfile@.[*].cue" COPY /Y "@albumfile@.[*].cue" . POPD :end_flac_tracks
REACT-track.cfg
Remove the lines:
SET TrackDir_Flac="@TrackDir_Flac@" SET TrackDir_Wavpack="@TrackDir_Wavpack@" SET TrackDir_MP3="@TrackDir_MP3@" SET TrackDir_AAC="@TrackDir_AAC@" SET TrackDir_OGG="@TrackDir_OGG@"
... and replace them with the code below:
REM ** Create Disc-related tags if we have a set REM If a disc name has been provided IF [@discname@] EQU [] GOTO end_discname SET discName=discname SET discName=@%discname%@ IF [@discname@] EQU [%discName%] GOTO end_discname REM Set tagging switches SET Disc_Flac=-T "discname=@discname@" SET Disc_Wavpack=-w "discname=@discname@" REM SET Disc_MP3=--frame TSST:"@discname@" SET Disc_MP3=--frame "TXXX[setsubtitle]:@discname@" SET Disc_OggEnc2=-c "discname=@discname@" SET Disc_Tak=-t "discname=@discname@" REM Add disc name to folder path SET trackDir=%trackDir%\$discname$ GOTO :end_discnumber :end_discname REM Ensure that we have numeric values SET /A discNumber = @discnumber@ + 0 SET /A totalDiscs = @totaldiscs@ + 0 REM IF a valid disc number and total number of discs has been provided IF %totalDiscs% LEQ 1 GOTO :end_discnumber IF %discNumber% LEQ 0 GOTO :end_discnumber REM Set tagging switches SET Disc_Flac=-T "discnumber=@discnumber@" -T "totaldiscs=@totaldiscs@" SET Disc_Wavpack=-w "discnumber=@discnumber@" -w "totaldiscs=@totaldiscs@" SET Disc_MP3=--frame TPOS:"@discnumber@/@totaldiscs@" SET Disc_NeroAac=--disk "@discnumber@/@totaldiscs@" SET Disc_OggEnc2=-c "discnumber=@discnumber@" -c "totaldiscs=@totaldiscs@" SET Disc_Tak=-t "discnumber=@discnumber@" -t "totaldiscs=@totaldiscs@" REM Add disc number to folder path SET trackDir=%trackDir%\Disc @discnumber@ :end_discnumber SET TrackDir_Flac="@TrackDir_Flac@%trackDir%" SET TrackDir_Wavpack="@TrackDir_Wavpack@%trackDir%" SET TrackDir_MP3="@TrackDir_MP3@%trackDir%" SET TrackDir_AAC="@TrackDir_AAC@%trackDir%" SET TrackDir_OGG="@TrackDir_OGG@%trackDir%" SET TrackDir_Tak="@TrackDir_Tak@%trackDir%"
The code below uses the FLAC section to demonstrate the use of the %Disc_Flac% variable. You will need to amend the other sections accordingly.
IF NOT @Flac@==1 GOTO end_flac_tracks
IF NOT EXIST %TrackDir_Flac% MKDIR %TrackDir_Flac%
PUSHD %TrackDir_Flac%
IF @various@==1 SET VA_tag=-T "album artist=@VA@"
IF %embed_cover%==1 SET Cover_tag=--picture="|image/jpeg|||@cover@"
ECHO ON
@tools@\flac.exe @Opt_Flac@ %Cover_tag% %VA_tag% %Disc_Flac% -T artist="@artist@" -T album="@album@" -T tracknumber="@track@/@numtracks@" -T title="@title@" -T date="@year@" -T genre="@genre@" -T comment="@comment@" -T encoded-by="%USERNAME%" -T encoding="Flac @Ver_Flac@ @Opt_Flac@" "@source@" -o "%TrackName%.flac"
@ECHO OFF
IF %have_cover%==1 IF NOT EXIST folder.jpg COPY "@cover@" folder.jpg
POPD
:end_flac_tracks
%imageDir% and %trackDir%
You may note that I use lines like:
SET imageDir=%imageDir%\$discname$
when I could use:
SET imageDir=\$discname$
This is simply so that the same technique could be used in other sections, before or after the section, all moving toward creating a variable that extends the base path. Using this technique all sections can append, or prepend, to %imageDir% and %trackDir% harmoniously.
For example, I might add another section, before these sections, to deal with an @albumsubtitle@ token. This section may end up setting:
SET imageDir=%imageDir% ($albumsubtitle$)
which could result in:
($albumsubtitle$)\Disc @discnumber@
Related Thread
This tip is a result of Synthetic Soul's dogged pursuit of a method to pass additional meta data into the REACT config files. This particular method was first documented in this post in the REACT 2 thread.