About the limit of characters passed; it seems the culprit is Audiograbber. Audiograbber displays a box that shows the command it is passing to an external encoder, and the box I got shows a total of only 263 characters being passed. I'll contact Jackie about that.
As per your request, here are the mareo.txt and mareo.ini as they come out of a spell check from EditPad Pro (
http://www.editpadpro.net ): (I've replaced tabs with spaces; use with a fixed pitch font like Courier)
==========================================
mareo.txt (v1.5)
==========================================
M.A.R.E.O. - (M.)ultiple (A.)pplications (R.)unner for (E.)AC and (O.)thers - Copyright © 2003 by Kwanbis
MAREO is a (M.)ultiple (A.)pplications (R.)unner for (E.)AC and (O.)thers. It has originally developed for use with EAC, but has been tested and adapted to work with CDex. It would probably also work with any other CD ripper.
It works as a (fake) encoder that in turn runs the real encoders for each track ripped by the ripper, passing it the required parameters such as source and dest file, author, CD, track, etc. It can also be used to call other post-compress and pre-compress programs, like ReplayGain.
This is very useful for example, if you like to encode all (or some) of your CDs to Ogg Vorbis for archival, and also to MP3 for use with your MP3 player (when will iRiver support Ogg Vorbis?).
While you can rip an entire CD with EAC (and CDex) to wav, and then run multiple encoders on them, MAREO can do the multiple encodes after each track EAC (and CDex) has been ripped!
It is my (very) humble contribution to the great Hydrogenaudio community, to whom it is dedicated, and also to the EAC (best Free CD Ripper), CDex (best Open Source CD Ripper), foobar2000 (best Free Audio Player), Ogg Vorbis (best Open Source MP3 alternative) and LAME (best MP3 encoder) developers, and to Borland, for Delphi and Kylix, my beloved (and best Windows and Linux) programming environments.
Configuring MAREO
MAREO is very easy to set up. It consists of only 2 steps. Configuring the CD Ripper to use MAREO, and telling MAREO in what formats do I want to encode.
First, download and decompress it to your ripper's folder.
EAC SETUP
Set EAC's Compression Options (F11) as follows:
1. Parameter passing scheme: User Defined Encoder
2. Program, including path, used for compression: (browse for) mareo.exe
3. Add ID3 tag: UNCHECKED
4. Use file extension: the file extension of the **first** format you are going to encode into
5. Additional command line options: EAC %o %s %d "%a" "%g" "%t" "%n" "%y" "%m"
VERY IMPORTANT: %o is the final name of the track, as specified on EAC's Naming Scheme (F9). If it includes a point (.) in it you must include a "fake extension". For example, if the naming scheme is "Artist - CD Name - #.- Track Name" (notice the point after the # and before the -), you must use this command line options: EAC %o.xxx %s %d "%a" "%g" "%t" "%n" "%y" "%m"
CDex SETUP
Set CDex Options -Settings (F4), Encoder as follows:
1. Encoder: External Encoder
2. Encoder path: (browse for) mareo.exe
3. File Extension: the file extension of the 1st format you are going to encode into
4. Parameter string: CDex "%a - %b - %tn - %t" %1 %2 "%a" "%b" "%t" "%tn" "%y" "%g"
CDex does not haves an option that represents the full file name of the ripped tracks, as EACs %o option does, so you have to build it "by hand". In this case "%a - %b - %tn - %t" means "artist name - cd name - track number - track name". If you want to include a point (.) in it you must include a "fake extension": .xxx . For example, if the naming scheme is "Artist - CD Name - #.- Track Name" (notice the point after the # and before the -), you must use this command line options: CDex "%a - %b - %tn - %t".xxx %1 %2 "%a" "%b" "%t" "%tn" "%y" "%g".
NOTE: the double quotes (") are used to surround parameters that can have spaces inside. For example, track name. In the case of EAC, it automatically surrounds the final, source and destination file names with " if needed. CDex uses the short file names for source and dest so it is not needed to surround in either case.
EAC & CDex:
Last, uncomment(remove the ";" from the from of the line) the lines you want to execute (or create your own following the explanation bellow).
HOW IT WORKS
After EAC/CDex finishes ripping a track, it runs MAREO, passing it, on the command line:
ExecutingProgram FinalFileName SourceFilename DestinationFilename CdArtist CdName TrackName TrackNumber Year Genre
MAREO then reads the mareo.ini file, that must be located where mareo.exe is, and for each ACTION LINE (an Action Line is any line that does not starts with a ";) replaces all the LITERALS (specials strings codes that MAREO recognizes and that start and end with @) with the correct values, finally executing the newly created (encode) command.
HERE IS THE LIST OF LITERALS AND THE VALUES THEY REPRESENT
Literal From Final Value
@program@ Command Line Parameter # 1 EAC or CDex
@finalname@ Command Line Parameter # 2 Encoded File Final File Name
@source@ Command Line Parameter # 3 FULL Source File Name
@dest@ Command Line Parameter # 4 FULL Destination File Name
@artist@ Command Line Parameter # 5 CD Artist Name
@cdname@ Command Line Parameter # 6 CD Name
@songname@ Command Line Parameter # 7 Song Name
@track@ Command Line Parameter # 8 Track (song) Number
@year@ Command Line Parameter # 9 Year of the CD release
@genre@ Command Line Parameter # 10 CD's Music Genre
@11@ Command Line Parameter # 11 Anything User Defined
.. .. ..
@nn@ Command Line Parameter # nn Anything User Defined
@ownpath@ MAREO finds out the full path to MAREO, without the ending backslash
@fullname@ MAREO finds out the full temporary name with the encoder extension
@pathonly@ MAREO finds out the full temporary path, without the ending backslash
@nameonly@ MAREO finds out the temporary name, without any extension
@extonly@ MAREO finds out the encoder file extension without the dot (ie: OGG)
As I said, the "ACTION LINES" are the actual commands MAREO would run (after replacing all the LITERALS as described above). An Action Line must contain:
ExtensionOfTheEncodedFile TextBetweenFinalEncodedNameAndExtension OverridePathName CommandToRunWithParameters
1. ExtensionOfTheEncodedFile: the string that identifies the encoded files. For example, the encoder produces ogg files, this should be ogg.
2. TextBetweenFinalEncodedNameAndExtension: used to add some text between the final file name of the encoded song, and the file extension. It is used if you want to encode with the to the more than once to the same encoder, at different qualities. For example, suppose you want to encode with LAME, in Extreme and Portable qualities, the file "mana_song1.wav". EAC and MAREO would try to generate two "mana_song1.MP3" files, one for the first encode, and the other for the second one, which is not possible. We need to define TextBetweenFinalEncodedNameAndExtension of the second Action Line to be (for example) _portable, MAREO would rename this file to "mana_song1_portable.MP3"! VERY IMPORTANT: if you don't want to add text between the file name and the file extension, put NONE, but you must include anything.
3. OverridePathName: here you can set a different path where MAREO would put the encoded file of the specific encoder. It must be a fully qualified Path Name. Also, instead of spaces, use the _. It is ignored for the first encoder Action Line, cause EAC and CDex like to rename the files themselves.
4. CommandToRunWithParameters: this is the real command that MAREO would execute, after replacing all the LITERALS with the corresponding values.
A REAL USE EXAMPLE
Suppose that our INI file consists of this 2 Action Lines:
mp3 NONE NONE "@ownpath@\lame.exe" --alt-preset standard -Z @source@ @dest@
ogg NONE C:\Portable_Player @ownpath@\oggenc.exe --quality 5 @source@ --output=f"@dest@"
and that we are ripping the song: Emma Shapplin - Etterna - 12 - La Notte Etterna.wav
After receiving the correct parameter from the command line, MAREO would take the 1st Action Line:
mp3 NONE NONE "@ownpath@\lame.exe" --alt-preset standard -Z @source@ @dest@
convert it to:
"c:\whatever\lame.exe" --alt-preset standard -Z c:\xxx\abbreviated_song_name.wav c:\xxx\abbreviated_song_name.mp3
and then execute it.
Then, it would take the 2nd Action Line:
ogg NONE C:\Portable_Player @ownpath@\oggenc.exe --quality 5 @source@ --output=f"@dest@"
convert it to:
"c:\whatever\oggenc.exe" --quality 5 c:\xxx\abbreviated_song_name.wav --output=f"c:\xxx\abbreviated_song_name.ogg"
and would rename the file:
C:\xxx\abbreviated_song_name.ogg
to
C:\Portable Player\Emma Shapplin - Etterna - 12 - La Notte Etterna.OGG.
Note how MAREO used the "C:\Portable_Player" string on the Action Line to override the original destination Path and how it added the OGG extension.
MAREO would then terminate, and pass control back to EAC/CDex, who, in turn, would rename c:\xxx\abbreviated_song_name.mp3 to Emma Shapplin - Etterna - 12 - La Notte Etterna.MP3.
INI FILE
On the INI file, I have put settings for Ogg Vorbis, LAME MP3 and MPC for practical and exemplar use. If anyone has more settings to add, for MP4, AAC, etc, post them on Hydrogenaudio's MAREO's topic.
TESTING
MAREO has been developed and tested under Windows 2000. I would really appreciate confirmation that it runs on XP, NT, 95, 98, ME.
CHANGES
MAREO 1.5
* Full log capabilities: each tie is run, MAREO creates a .log file where all the screen prints are also logged.
* It is possible to use Literals on the Path Override on the INI file.
* Fixed a bug where the apostrophes where being deleted.
* Fixed some renaming bug (the dest path wasn't being taken into account).
MAREO 1.4
* Renamed to MAREO (MAR sounded too silly).
* Added my own command line parsing routine.
* Fixed Error on the renaming function.
* Fixed Error on the PathOverride function.
MAR 1.3
* Its now possible to define a destination path for each different encoder.
* @destpath@ and @comments@ are no longer used/supported.
MAR 1.2
* Renamed to MAR (Multiple Applications Runner)
* More changes (still don't remember)
EMER 1.1:
* Some changes (don't remember :-P))
EMER 1.0:
* First Version
http://mareo.netfirms.com<eof>
==========================================
mareo.ini (v1.5)
==========================================
; MAREO - (M.)ultiple (A.)pplications (R.)unner for (E.)AC and (O.)thers.
;
; LIST OF LITERALS AND THE VALUES THEY REPRESENT
;
; Literal From Final Value
; @program@ Command Line Parameter # 1 EAC or CDex
; @finalname@ Command Line Parameter # 2 Encoded File Final File Name
; @source@ Command Line Parameter # 3 FULL Source File Name
; @dest@ Command Line Parameter # 4 FULL Destination File Name
; @artist@ Command Line Parameter # 5 CD Artist Name
; @cdname@ Command Line Parameter # 6 CD Name
; @songname@ Command Line Parameter # 7 Song Name
; @track@ Command Line Parameter # 8 Track (song) Number
; @year@ Command Line Parameter # 9 Year of the CD release
; @genre@ Command Line Parameter # 10 CD's Music Genre
;
; @11@ Command Line Parameter # 11 Anything User Defined
; .. .. ..
; @nn@ Command Line Parameter # nn Anything User Defined
;
; @ownpath@ MAREO finds out the full path to MAREO, without the ending backslash
; @fullname@ MAREO finds out the full temporal name with the encoder extension
; @pathonly@ MAREO finds out the full temporal path, without the ending backslash
; @nameonly@ MAREO finds out the temporal name, without any extension
; @extonly@ MAREO finds out the encoder file extension without the dot (ie: OGG)
;
; NOTE: instead of (for example) "@ownpath@lame.exe", you can use a full path like "c:\encoders\lame.exe"
;
; THIS IS A LIST OF ACTUALLY USABLE ACTION LINES, TAKEN FROM HYDROGENAUDIO.ORG RECOMMENDED SETTINGS.
; JUST UNCOMMENT THE ONE YOU NEED TO USE.
;
; ---------------------------------------------------------------------------------------------------------------------------
; MP3 LAME "ARCHIVE" (320 kbps CBR):
; ---------------------------------------------------------------------------------------------------------------------------
; mp3 NONE NONE "@ownpath@\lame.exe" --alt-preset insane --ta "@artist@" --tl "@cdname@" --tt "@songname@" --tn "@track@" --ty "@year@" --tg "@genre@" --tc "EAC+LAME -alt-pre-insane" "@source@" "@dest@"
;
; ---------------------------------------------------------------------------------------------------------------------------
; MP3 LAME "AUDIOPHILE" (220-270 kbps VBR -- usually averages around 256kbps):
; ---------------------------------------------------------------------------------------------------------------------------
; mp3 NONE NONE "@ownpath@\lame.exe" --alt-preset extreme -Z --ta "@artist@" --tl "@cdname@" --tt "@songname@" --tn "@track@" --ty "@year@" --tg "@genre@" --tc "EAC+LAME -alt-pre-extreme-Z" "@source@" "@dest@"
;
; ---------------------------------------------------------------------------------------------------------------------------
; MP3 LAME "STANDARD" (180-220 kbps VBR -- usually averages around 192 kbps):
; ---------------------------------------------------------------------------------------------------------------------------
; mp3 NONE NONE "@ownpath@\lame.exe" --alt-preset standard -Z --ta "@artist@" --tl "@cdname@" --tt "@songname@" --tn "@track@" --ty "@year@" --tg "@genre@" --tc "EAC+LAME -alt-pre-standard-Z" "@source@" "@dest@"
;
; ---------------------------------------------------------------------------------------------------------------------------
; MP3 LAME "PORTABLE PLAYER" (Reduced Bitrates, -Y: usually limited to 16 kHz!):
; ---------------------------------------------------------------------------------------------------------------------------
; mp3 NONE NONE "@ownpath@\lame.exe" --alt-preset standard -Y --ta "@artist@" --tl "@cdname@" --tt "@songname@" --tn "@track@" --ty "@year@" --tg "@genre@" --tc "EAC+LAME -alt-pre-standard-Y" "@source@" "@dest@"
;
;
; ---------------------------------------------------------------------------------------------------------------------------
; OGG VORBIS "ARCHIVE"
; ---------------------------------------------------------------------------------------------------------------------------
; ogg NONE NONE "@ownpath@\oggenc.exe" --quality 9 "@source@" --output="@dest@" --artist "@artist@" --album "@cdname@" --title "@songname@" --tracknum "@track@" --date "@year@" --genre "@genre@" -c "COMMENT=EAC + Ogg Vorbis--Q9"
;
; ---------------------------------------------------------------------------------------------------------------------------
; OGG VORBIS "AUDIOPHILE"
; ---------------------------------------------------------------------------------------------------------------------------
; ogg NONE NONE "@ownpath@\oggenc.exe" --quality 7 "@source@" --output="@dest@" --artist "@artist@" --album "@cdname@" --title "@songname@" --tracknum "@track@" --date "@year@" --genre "@genre@" -c "COMMENT=EAC + Ogg Vorbis--Q7"
;
; ---------------------------------------------------------------------------------------------------------------------------
; OGG VORBIS "STANDARD"
; ---------------------------------------------------------------------------------------------------------------------------
; ogg NONE NONE "@ownpath@\oggenc.exe" --quality 5 "@source@" --output="@dest@" --artist "@artist@" --album "@cdname@" --title "@songname@" --tracknum "@track@" --date "@year@" --genre "@genre@" -c "COMMENT=EAC + Ogg Vorbis--Q5"
;
; ---------------------------------------------------------------------------------------------------------------------------
; OGG VORBIS "PORTABLE PLAYER" (have to be ready

; ---------------------------------------------------------------------------------------------------------------------------
; ogg NONE NONE "@ownpath@\oggenc.exe" --quality 3 "@source@" --output="@dest@" --artist "@artist@" --album "@cdname@" --title "@songname@" --tracknum "@track@" --date "@year@" --genre "@genre@" -c "COMMENT=EAC + Ogg Vorbis--Q3"
;
;
; ---------------------------------------------------------------------------------------------------------------------------
; MPC "ARCHIVE"
; ---------------------------------------------------------------------------------------------------------------------------
; mpc NONE NONE "@ownpath@\mppenc.exe" --quality 7 --xlevel --artist "@artist@" --album "@cdname@" --title "@songname@" --track "@track@" --year "@year@" --genre "@genre@" --comment "EAC & mppenc (1.14) --quality 7 --xlevel" "@source@" "@dest@"
;
; ---------------------------------------------------------------------------------------------------------------------------
; MPC "AUDIOPHILE"
; ---------------------------------------------------------------------------------------------------------------------------
; mpc NONE NONE "@ownpath@\mppenc.exe" --quality 5 --xlevel --artist "@artist@" --album "@cdname@" --title "@songname@" --track "@track@" --year "@year@" --genre "@genre@" --comment "EAC & mppenc (1.14) --quality 5 --xlevel" "@source@" "@dest@"
;
; ---------------------------------------------------------------------------------------------------------------------------
; MPC "STANDARD"
; ---------------------------------------------------------------------------------------------------------------------------
; mpc NONE NONE "@ownpath@\mppenc.exe" --quality 4 --xlevel --artist "@artist@" --album "@cdname@" --title "@songname@" --track "@track@" --year "@year@" --genre "@genre@"--comment "EAC & mppenc (1.14) --quality 4 --xlevel" "@source@" "@dest@"
;
; ---------------------------------------------------------------------------------------------------------------------------
; MPC "PORTABLE PLAYER"
; ---------------------------------------------------------------------------------------------------------------------------
; mpc NONE NONE "@ownpath@\mppenc.exe" --quality 3 --xlevel --artist "@artist@" --album "@cdname@" --title "@songname@" --track "@track@" --year "@year@" --genre "@genre@"--comment "EAC & mppenc (1.14) --quality 3 --xlevel" "@source@" "@dest@"
;
;
; ---------------------------------------------------------------------------------------------------------------------------
; Flac 'FAST'
; ---------------------------------------------------------------------------------------------------------------------------
; flac NONE NONE "@ownpath@\flac.exe" --fast "@source@" -o "@dest@" -T artist="@artist@" -T album="@cdname@" -T title="@songname@" -T tracknumber="@track@" -T date="@year@" -T genre="@genre@" -T comment="EAC+FLAC"
;
; ---------------------------------------------------------------------------------------------------------------------------
; Flac 'RECOMMENDED'
; ---------------------------------------------------------------------------------------------------------------------------
; flac NONE NONE "@ownpath@\flac.exe" -5 "@source@" -o "@dest@" -T artist="@artist@" -T album="@cdname@" -T title="@songname@" -T tracknumber="@track@" -T date="@year@" -T genre="@genre@" -T comment="EAC+FLAC"
;
; ---------------------------------------------------------------------------------------------------------------------------
; Flac 'MAXIMUM COMPRESSION' (slow)
; ---------------------------------------------------------------------------------------------------------------------------
; flac NONE NONE "@ownpath@\flac.exe" --best "@source@" -o "@dest@" -T artist="@artist@" -T album="@cdname@" -T title="@songname@" -T tracknumber="@track@" -T date="@year@" -T genre="@genre@" -T comment="EAC+FLAC"
;
;
; EOF
==========================================
==========================================