Something happen with old thread so here is end.

1.
start CE2mp3 with source file for converting as argument, like
CE2mp3 d:\path\nice song.wma
CE2mp3 will first prompt for samplerate, bitrate and stream remap (important when
source file have more than one audio stream), You can enter values, or simply
press ENTER without any other input for using default values.
2.
start CE2mp3 with directory with source files as argument, like
CE2mp3 d:\path
CE2mp3 will go for converting all files from this directory, without any prompt.
Default values will be used.
In both cases, CE2mp3 will create target files with same name as source files
except for extension in directory where is started.
/* Convert everything to MP3 by Cyber v0.03 */
/* using FFmpeg as convertor */
/* You need to change default values !!!! */
/* Default values : */
SAMPLERATE=44100 /* CHANGE AS NEEDED */
BITRATE=64 /* CHANGE AS NEEDED */
FFmpeg_pth="ffmpeg.exe" /* CHANGE AS NEEDED */
/*
path where is FFmpeg: if ffmpeg is in PATH or in same direcory with this
convertor use FFmpeg_pth="ffmpeg.exe" else, You need to enter full path
to program.
*/
/* end of configuration !!!! */
call RxFuncAdd "SysLoadFuncs", "RexxUtil", "SysLoadFuncs"
call SysLoadFuncs
Say ""
CALL WhiteCol; CALL CHAROUT , " ŰŰŰ ŰŰŰ Ű Ű Ű Ű ŰŰŰŰ ŰŰŰ ŰŰŰ everything to mp3";
say
CALL WhiteCol; CALL CHAROUT , " Ű Ű Ű ŰŰ Ű Ű Ű Ű Ű Ű Ű"
call LblueCol; CALL CHAROUT , " for www.os2world.com ";CALL GreenCol; CALL CHAROUT , "written by Cyber ";
say
CALL WhiteCol; CALL CHAROUT , " Ű Ű Ű Ű ŰŰ Ű Ű ŰŰ ŰŰŰ Ű "
say
CALL WhiteCol; CALL CHAROUT , " Ű Ű Ű Ű Ű Ű Ű Ű Ű Ű Ű"
Call RedCol;CALL CHAROUT , " Code by RobertM and Jep, "
say
CALL WhiteCol; CALL CHAROUT , " ŰŰŰ ŰŰŰ Ű Ű Ű ŰŰŰŰ Ű Ű Ű "
CALL yellowCol; CALL CHAROUT , " Thanks to WarpCafe "
call YellowCol
CALL SysSleep 1
Parse Arg v1ideost
if v1ideost="" then call nofile /* if no argumet go to exit */
filebytes = stream(v1ideost, C, 'query size') /* determine is it file or dir */
IF filebytes = 0 then call ProcDir /* if dir jump to ProcDir else continue */
Call GreenCol
FFmpeg_pth" -i "v1ideost
Call WhiteCol
say "Enter samplerate (enter for default to "SAMPLERATE")"
Call GreenCol
tsample=LINEIN()
If tsample="" then tsample=SAMPLERATE
Call WhiteCol
say "Enter bitrate (enter for default to "BITRATE")"
Call GreenCol
tbit=LINEIN()
If tbit="" then tbit=BITRATE
Call WhiteCol
say "Enter stream mapping [-map 1:0] (enter for default to no mapping at all)"
Call GreenCol
tmap=LINEIN()
PARSE VALUE REVERSE( FILESPEC( "N", v1ideost ) ) WITH ."."fname
fname = REVERSE( fname )
gname="'"fname".mp3'"
FFmpeg_pth' -i 'v1ideost tmap' -acodec libmp3lame -ac 2 -ar 'tsample' -ab 'strip(tbit)'k -vol 256 'gname
call WhiteCol
Say "conversion complete"
exit
RedCol:
CALL CHAROUT ,"1B"x||'[1m'||"1B"x||'['||31||'m'
return
GreenCol:
CALL CHAROUT ,"1B"x||'[1m'||"1B"x||'['||32||'m'
return
WhiteCol:
CALL CHAROUT ,"1B"x||'[1m'||"1B"x||'['||37||'m'
return
LblueCol:
CALL CHAROUT ,"1B"x||'[1m'||"1B"x||'['||36||'m'
return
YellowCol:
CALL CHAROUT ,"1B"x||'[1m'||"1B"x||'['||33||'m'
return
GreyCol:
CALL CHAROUT ,"1B"x||'[1m'||"1B"x||'['||30||'m'
return
BlueCol:
CALL CHAROUT ,"1B"x||'[1m'||"1B"x||'['||4||'m'
return
YellGreyCol:
CALL CHAROUT ,"1B"x||'[1m'||"1B"x||'['||5||'m'
return
YellRedCol:
CALL CHAROUT ,"1B"x||'[1m'||"1B"x||'['||41||'m'
return
cYellRedCol:
CALL CHAROUT ,"1B"x||'[1m'||"1B"x||'['||40||'m'
return
ProcDir:
Call SysFileTree ARG(1)||v1ideost"\*", "files", "FO"
do i = 1 to files.0
say files.i
v1ideost="'"files.i"'"
PARSE VALUE REVERSE( FILESPEC( "N", v1ideost ) ) WITH ."."fname
fname = REVERSE( fname )
gname="'"fname".mp3'"
FFmpeg_pth' -i 'v1ideost' -acodec libmp3lame -ac 2 -ar 'SAMPLERATE' -ab 'strip(BITRATE)'k -vol 256 'gname
end
call WhiteCol
Say "conversion complete"
exit
nofile:
say
call YellRedCol
say
say" Must have source file or source directory as argument"
call cYellRedCol
say ""
say "exiting..."
pause
exit