Help - Search - Members - Calendar
Full Version: Tool To Turn An .iso Into A Self-extracting Executable?
The CD Forum > The CD Forum > Bootable CDs
Pages: 1, 2, 3
jaclaz
Ok, the "name with spaces" problem can be easily fixed, it is only needed to enclose the name in quotes when you pass it to the command line.

I.e. if you give the command:
CODE
burn_now my voice recording.cue

%1 will be just 'my' whilst if you give this:
CODE
burn_now "my voice recording.cue"

%1 will be 'my voice recording.cue' allright.

But you need to change the two lines:
CODE
ECHO cdrecord gracetime=10 dev=!Drive! driveropts=!OPTION1! -v -force -overburn -dao -text -dummy cuefile="%1"
PAUSE
cdrecord gracetime=10 dev=!Drive! driveropts=!OPTION1! -v -force -overburn -dao -text -dummy cuefile="%1"

removing the quotes from around %1


Any other problem?

(I actually found another one, the code doesn't work if the device is NOT "burnfree" enabled)

If not, I can fix the above problems and as soon as I have a bit of time, modify the "main" ISO2SFX.CMD into this "special" CDA2SFX.CMD.

As said I am not an expert on CDAUDIO recording, but I remember reading that recording at a lower speed gives better results, as is, the file (and cdrecord) will burn at highest possible speed, still wondering if choosing a lower speed should be provided.....

jaclaz
cdob
@jaclaz
Congratulations, good work.

Please use forward slash, not backward slash.
Cdrecord is a *nix tool by design: a \ is a special character and / cut a path.
D:\temp\wav\eac.cue
D:/temp/wav/eac.cue

CODE
set cuefile=%~1
set cuefile="%cuefile:\=/%"
echo %cuefile%


About write speed:
A proper media and proper writer gives proper results at full speed.

Cdrecord dosn't select a write speed by himself.
Cdrecord use the write speed seletcted by writer firmware: Current write speed.

Some writer detect media by ATIP and set full/slow speed by themself.
Another writer choose full speed always, even at broken media.

A 52x CD writer may give poor results at slowest speed.
Writer manufacturer hasn't tested this thoroughly.

A average user may use a half broken writer and half broken media.

Over all assumption:
calculate half write speed of current write speed.
This may get good results for a average user.

A additonal remark:
Nowadays there is -minfo available to detect a blank CD: disk status.
QUOTE
cdrecord -minfo
Cdrecord-ProDVD-Clone 2.01.01a23 (i686-pc-cygwin) Copyright © 1995-2006 Jörg Schilling
...
disk status: empty
session status: empty


By the way:
I've no DAO/SAO explanation. There may be some historical confusion.
Cdrecord list this at under construction. A change is announced since years.
But a lot of application use old commands, difficult to change old command line interface.

One remark. I read (don't rely on that reading):
Current writers use SCSI Multimedia Commands (MMC) command sets.
Technical Commitee T10 http://www.t10.org/ offers pdf drafts.
MMC-3 Table 250 list SAO/TAO CD write modes. DAO is not allowed at CD writing.
Captain Dan
@cdob

That is some seriously good research.

@jaclaz

QUOTE
Any other problem?


No problems that I can find yet. biggrin.gif

I would like to suggest two things to augment the code if I may though.

Firstly, can it be possible to drag and drop a .cue file onto burn_now.cmd to iniate the application?

Secondly, can it be possible to have the source .cue / .wav files in a different directory or drive to the burn_now.cmd file package?

BTW. I don't fully understand the code that you have written but I am certainly appreciating this as a learning exercise. So thanks again.

Dan
jaclaz
@cdob

Very interesting info, thanks a lot. smile.gif


@Captain Dan

Sure, it should be possible to solve the drag'n drop problem AND the "name with spaces.cue" one by adding some command line parsing.
The problem of having files in another directory is fixable as well, of course both ".cue" and ".wav" file need to be in the SAME "other" directory.

I'll go on with the modification to the code to allow the above.

About write speed,
QUOTE (cdob)
Over all assumption:
calculate half write speed of current write speed.


Maybe it is advisable to add a prompt for choosing "default speed" or "safe speed", on my PC, in the output of
CODE
cdrecord dev=x,y,z -prcap


I get:
QUOTE
Maximum read speed: 8467 kB/s (CD 48x, DVD 6x)
Current read speed: 8467 kB/s (CD 48x, DVD 6x)
Maximum write speed: 8467 kB/s (CD 48x, DVD 6x)
Current write speed: 8467 kB/s (CD 48x, DVD 6x)
Rotational control selected: CLV/PCAV
Buffer size in KB: 2048
Copy management revision supported: 1
Number of supported write speeds: 7
Write speed # 0: 8467 kB/s CLV/PCAV (CD 48x, DVD 6x)
Write speed # 1: 7056 kB/s CLV/PCAV (CD 40x, DVD 5x)
Write speed # 2: 5645 kB/s CLV/PCAV (CD 32x, DVD 4x)
Write speed # 3: 4234 kB/s CLV/PCAV (CD 24x, DVD 3x)
Write speed # 4: 2822 kB/s CLV/PCAV (CD 16x, DVD 2x)
Write speed # 5: 1411 kB/s CLV/PCAV (CD 8x, DVD 1x)
Write speed # 6: 706 kB/s CLV/PCAV (CD 4x, DVD 0x)
So that I can parse the "Current write speed:" as "default speed" and choose
QUOTE
Number of supported write speeds: 7


CODE
Set /A safespeed=(7-1)/2


What do you think of this?

jaclaz
Captain Dan
QUOTE
Sure, it should be possible to solve the drag'n drop problem AND the "name with spaces.cue" one by adding some command line parsing.
The problem of having files in another directory is fixable as well, of course both ".cue" and ".wav" file need to be in the SAME "other" directory.
Cool. I already fixed up the "name with spaces.cue" with your earlier instructions. The other changes will be the icing on the cake. smile.gif

QUOTE
Maybe it is advisable to add a prompt for choosing "default speed" or "safe speed"


For me, I think less prompting is better.

Ideally, the end user gets one .exe file, launches it, answers one prompt (is there a blamk CDR in the drive), and then boom....everything else automatic from there.

QUOTE
Cdrecord dosn't select a write speed by himself.
Cdrecord use the write speed seletcted by writer firmware: Current write speed.


I reckon just go with whatever the cd writer says it's comfortable with.

End users are not really very patient, so slow speed burns are undesirable.

Dan
cdob
@jaclaz

I compared different writer and CD-R(W) media.
Speed messages are confusing. There is not a clear pattern.
Some firmwares behave strange.
I've to adjust my opinion: current write speed is a bad idea.


New ideas:

Either set a middle fixed speed=24. And don't ask the end user.
Cdrecord ask writer for 24x speed.
A 52x writer will setlect 24x speed.
A old 12x writer will ignore 24x speed and select his max speed: 12x speed.

Or ask the end user:
print current possible write speed and ask for a write speed.
Two write speeds possible currently
QUOTE
Write speed # 0: 2822 kB/s CLV/PCAV (CD 16x, DVD 2x)
Write speed # 1: 1764 kB/s CLV/PCAV (CD 10x, DVD 1x)
A user may press return, '16', '10' or '9876'.

This question is about a self extracting burning executable.
Can a average end user select a proper write speed? I doubt this.
A experienced user can expand archive and burn files himself.
A easy solution may get less questions.

Overall: I suggest a fixed 'speed=24'.
It's easy to implement and should give proper results in almost all cases.
jaclaz
@cdob
Again interesting points, thanks. smile.gif

The idea of a "fixed" 24x speed seems a good idea, after all a "full" audio cd will burn in about 72/24=3 minutes, that seems to me like a "reasonable" time.

While testing further I found an awkward thing ohmy.gif :
1) I was using a cdrecord 2.01:
QUOTE
Cdrecord-Clone 2.01a25 (i686-pc-cygwin)
that comes with the AudioCD app by dirk paehl (called also SPTI/ASPI version) filesize 137.216
(the cygwin1.dll that comes with it (1005.6.0.0) is 435.081 bytes)
2) I just copied cdrecord.exe to my work directory and it worked straightaway
3) I followed your advice and got latest cdrecord.exe from
http://www.sbox.tugraz.at/home/t/tplank/
4) I tried the 2.01 "stable" filesize 311.296:
QUOTE
Cdrecord-Clone 2.01 (i686-pc-cygwin)

5) and the 2.01a23 version filesize 348.672:
when I issued a "cdrecord -version", I had an error about a missing entry point in cygwin1.dll, so I checked and I had in my "system32" directory a rather old version of cygwin1.dll (1005.12.0.0) filesize 1.140.617, so I downloaded from the same page the updated .dll (1.5.23), put it in the work directory and I was able to get the result:
QUOTE
Cdrecord-ProDVD-Clone 2.01.01a23 (i686-pc-cygwin)
6) I did some more research and found that "bundled" with Easyburning, from the same author, dirk paehl, there is a MinGW version of cdrecord patched and compiled by Alexander Kopylov (the Reanimatolog whose work we know expecially for BCDL/BCDW) filesize 132.608:
QUOTE
Cdrecord-Clone 2.01-bootcd.ru (i686-pc-mingw32) Copyright © 1995-2004 J÷rg Schilling
NOTE: this version of cdrecord is an inofficial (modified) release of cdrecord
and thus may have bugs that are not present in the original version.
Please send bug reports and support requests to Alex Kopylov <cdrtools@bootcd.ru>.

That version that can be found on the mirror of bootcd.ru here:
http://www.bcdwb.de/downloads/cdrtools.htm
has a filesize of 198.399
Both versions appear to be UPXed, deUPXing the first I get an uncompressed filesize of 318.464 , and of 364.287 for the second.
At this point I am really confused. blink.gif
7) The 1.5.23 cygwin1.dll has a filesize of 1.872.821, so if we want to make sure the SFX will work we will need to embed it together with cdrecord.exe 2.01.01a23 thus 1.872.821+348.672=2.221.493 bytes
8) On the other hand the MinGW version is self-standing (needs no external dll) and it is just 132.608 bytes
9) I did a quick search in google and it seems that noone was able/wanted to compile later versions of cdrecord under MinGW

Now, I may be old, in this times of talks about Terabytes and Petabytes, but my first hard disk was 10 Mb, and as I see it, the difference between 2.221.493 and 132.608 bytes makes it 2.088.885 bytes of WASTED space.

Even the couple of files that come with AudioCD (137.216+435.081=572.297) are much better.

Since we only need a limited numder of functions, using the elder MinGW version should be advisable since it is also "stand-alone", the fact that dirk paehl did not include it in AudioCD is however strange....

...any thoughts on the above?

jaclaz
cdob
@jaclaz

1) 4) This are CD only version.

5) This writes CD and DVD.

6) Open files in notepad.exe, goto end of file.
364.287 bytes: debug entry points are included
318.464 bytes: debug entry points are stripped

9) PEBuilder use this version too.
The old mingw32 compile dosn't support a fifo buffer: write speed is limited to 16x CD. Buffer underruns are highly possible.
I don't recommend this mingw32 version.

A future version may support wrong/missing features.
Don't rely on a outdated version today.
jaclaz
Thank you again, cdob.

After some tests I have found a way :

CODE
....
IF NOT EXIST Cdrecord.exe GOTO :ERROR4
cdrecord.exe -version
IF NOT %ERRORLEVEL%==0 GOTO :ERROR5
...
:ERROR4
ECHO cdrecord.exe not found
ECHO ::Some stuff that tells where and how to get it::
ECHO Aborted....
PAUSE
GOTO :EOF
....
:ERROR5
ECHO cygwin1.dll not found or wrong version of cygwin1.dll
ECHO ::Some stuff that tells where and how to get it::
ECHO Aborted....
PAUSE
GOTO :EOF


That allows for using any version, (MinGW or Cygwin), or release, making a check and printing a comprehensible error message.

The actual packager/user can thus choose which version to embed or however have some info to correct a possible wrong setup.smile.gif


Another small brick towards completion....

jaclaz
jaclaz
Ok, peeps.

Version 0.1 ALPHA uploaded, same address/filename:
http://home.graffiti.net/jaclaz:graffiti.n...FX/Burn_now.zip

Should support drag'n drop and filenames with spaces, EVEN if supplied without quotes on command line.

Please test and report any bug.

jaclaz
Captain Dan
Ok, testing Alpha round one:

Drag and drop didn't function for me at all. The DOS box flashes up momentarily and then is gone.

In the command line, the following occurred......

CODE
C:\Documents and Settings\Administrator\Desktop\burn_now>Burn_now.cmd "Avril Lavigne - Let Go.cue"



CODE
BURN_NOW 0.1 ALPHA RELEASE by jaclaz
Batch file to burn on CD CDRWIN style images of AudioCD's

This programs uses the features of CDRECORD
Part of the CDRTOOLS package by Joerg Schilling

The syntax of the command is incorrect.

C:\Documents and Settings\Administrator\Desktop\burn_now>


So then I tried.....

CODE
C:\Documents and Settings\Administrator\Desktop\burn_now>Burn_now.cmd Avril Lavigne - Let Go.cue


CODE
BURN_NOW 0.1 ALPHA RELEASE by jaclaz
Batch file to burn on CD CDRWIN style images of AudioCD's

This programs uses the features of CDRECORD
Part of the CDRTOOLS package by Joerg Schilling

The syntax of the command is incorrect.

C:\Documents and Settings\Administrator\Desktop\burn_now>


And then I tried (after a file rename).......

CODE
C:\Documents and Settings\Administrator\Desktop\burn_now>Burn_now.cmd Avril.cue


CODE
BURN_NOW 0.1 ALPHA RELEASE by jaclaz
Batch file to burn on CD CDRWIN style images of AudioCD's

This programs uses the features of CDRECORD
Part of the CDRTOOLS package by Joerg Schilling

The syntax of the command is incorrect.

C:\Documents and Settings\Administrator\Desktop\burn_now>


Where now? huh.gif

Dan
hilander999
change what should be the first line in the script... @ECHO OFF to @ECHO ON
Then run the script and post the window output.

This will show the entire command and what part is failing, but will look UGLY.
Captain Dan
The output from

CODE
C:\Documents and Settings\Administrator\Desktop\burn_now>Burn_now.cmd "Avril Lav
igne - Let Go.cue"


is

CODE
C:\Documents and Settings\Administrator\Desktop\burn_now>ECHO BURN_NOW 0.1 ALPHA
RELEASE by jaclaz
BURN_NOW 0.1 ALPHA RELEASE by jaclaz

C:\Documents and Settings\Administrator\Desktop\burn_now>ECHO Batch file to burn
on CD CDRWIN style images of AudioCD's
Batch file to burn on CD CDRWIN style images of AudioCD's

C:\Documents and Settings\Administrator\Desktop\burn_now>ECHO.


C:\Documents and Settings\Administrator\Desktop\burn_now>ECHO This programs uses
the features of CDRECORD
This programs uses the features of CDRECORD

C:\Documents and Settings\Administrator\Desktop\burn_now>ECHO Part of the CDRTOO
LS package by Joerg Schilling
Part of the CDRTOOLS package by Joerg Schilling

C:\Documents and Settings\Administrator\Desktop\burn_now>ECHO.


C:\Documents and Settings\Administrator\Desktop\burn_now>C:

C:\Documents and Settings\Administrator\Desktop\burn_now>CD C:\Documents and Set
tings\Administrator\Desktop\burn_now\

C:\Documents and Settings\Administrator\Desktop\burn_now>If "Avril Lavigne - Let
Go.cue". == . GOTO :ERROR1

C:\Documents and Settings\Administrator\Desktop\burn_now>SET cuefile="Avril Lavi
gne - Let Go.cue"

C:\Documents and Settings\Administrator\Desktop\burn_now>If . == . GOTO :fileche
cks

C:\Documents and Settings\Administrator\Desktop\burn_now>SET Cuefile=Avril Lavig
ne - Let Go.cue

C:\Documents and Settings\Administrator\Desktop\burn_now>Set Cuefile="Avril Lavi
gne - Let Go.cue"

C:\Documents and Settings\Administrator\Desktop\burn_now>CALL :FULLCUEPATH "Avri
l Lavigne - Let Go.cue"

C:\Documents and Settings\Administrator\Desktop\burn_now>IF NOT ".cue" == ".cue"
(SET cuefile="C:\Documents and Settings\Administrator\Desktop\burn_now\Avril La
vigne - Let Go.cue" )  else (SET cuefile="C:\Documents and Settings\Administrato
r\Desktop\burn_now\Avril Lavigne - Let Go.cue" )

C:\Documents and Settings\Administrator\Desktop\burn_now>SET filespath=C:\Docume
nts and Settings\Administrator\Desktop\burn_now\

C:\Documents and Settings\Administrator\Desktop\burn_now>GOTO :EOF

C:\Documents and Settings\Administrator\Desktop\burn_now>If NOT EXIST "C:\Docume
nts and Settings\Administrator\Desktop\burn_now\Avril Lavigne - Let Go.cue" GOTO
:ERROR2

C:\Documents and Settings\Administrator\Desktop\burn_now>set cuefile="C:/Documen
ts and Settings/Administrator/Desktop/burn_now/Avril Lavigne - Let Go.cue"

C:\Documents and Settings\Administrator\Desktop\burn_now>For /F "tokens=1,2 deli
ms= " %A in ('Type "C:/Documents and Settings/Administrator/Desktop/burn_now/Avr
il Lavigne - Let Go.cue"') DO IF /I %A. == FILE. SET mediafile=%B

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I REM. == FILE. SET
mediafile=GENRE

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I REM. == FILE. SET
mediafile=DATE

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I REM. == FILE. SET
mediafile=DISCID

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I REM. == FILE. SET
mediafile=COMMENT

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I PERFORMER. == FIL
E. SET mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TITLE. == FILE. S
ET mediafile="Let

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I FILE. == FILE. SE
T mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TRACK. == FILE. S
ET mediafile=01

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TITLE. == FILE. S
ET mediafile="Losing

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I PERFORMER. == FIL
E. SET mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I ISRC. == FILE. SE
T mediafile=USAR10200222

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I INDEX. == FILE. S
ET mediafile=01

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TRACK. == FILE. S
ET mediafile=02

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TITLE. == FILE. S
ET mediafile="Complicated"

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I PERFORMER. == FIL
E. SET mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I ISRC. == FILE. SE
T mediafile=USAR10200223

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I INDEX. == FILE. S
ET mediafile=01

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TRACK. == FILE. S
ET mediafile=03

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TITLE. == FILE. S
ET mediafile="Sk8er

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I PERFORMER. == FIL
E. SET mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I ISRC. == FILE. SE
T mediafile=USAR10200229

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I INDEX. == FILE. S
ET mediafile=01

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TRACK. == FILE. S
ET mediafile=04

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TITLE. == FILE. S
ET mediafile="I'm

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I PERFORMER. == FIL
E. SET mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I ISRC. == FILE. SE
T mediafile=USAR10200224

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I INDEX. == FILE. S
ET mediafile=01

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TRACK. == FILE. S
ET mediafile=05

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TITLE. == FILE. S
ET mediafile="Mobile"

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I PERFORMER. == FIL
E. SET mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I ISRC. == FILE. SE
T mediafile=USAR10200225

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I INDEX. == FILE. S
ET mediafile=01

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TRACK. == FILE. S
ET mediafile=06

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TITLE. == FILE. S
ET mediafile="Unwanted"

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I PERFORMER. == FIL
E. SET mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I ISRC. == FILE. SE
T mediafile=USAR10200227

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I INDEX. == FILE. S
ET mediafile=01

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TRACK. == FILE. S
ET mediafile=07

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TITLE. == FILE. S
ET mediafile="Tomorrow"

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I PERFORMER. == FIL
E. SET mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I ISRC. == FILE. SE
T mediafile=USAR10200230

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I INDEX. == FILE. S
ET mediafile=01

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TRACK. == FILE. S
ET mediafile=08

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TITLE. == FILE. S
ET mediafile="Anything

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I PERFORMER. == FIL
E. SET mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I ISRC. == FILE. SE
T mediafile=USAR10200231

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I INDEX. == FILE. S
ET mediafile=01

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TRACK. == FILE. S
ET mediafile=09

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TITLE. == FILE. S
ET mediafile="Things

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I PERFORMER. == FIL
E. SET mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I ISRC. == FILE. SE
T mediafile=USAR10200228

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I INDEX. == FILE. S
ET mediafile=01

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TRACK. == FILE. S
ET mediafile=10

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TITLE. == FILE. S
ET mediafile="My

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I PERFORMER. == FIL
E. SET mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I ISRC. == FILE. SE
T mediafile=USAR10200226

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I INDEX. == FILE. S
ET mediafile=01

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TRACK. == FILE. S
ET mediafile=11

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TITLE. == FILE. S
ET mediafile="Nobody's

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I PERFORMER. == FIL
E. SET mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I ISRC. == FILE. SE
T mediafile=USAR10200232

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I INDEX. == FILE. S
ET mediafile=01

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TRACK. == FILE. S
ET mediafile=12

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TITLE. == FILE. S
ET mediafile="Too

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I PERFORMER. == FIL
E. SET mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I ISRC. == FILE. SE
T mediafile=USAR10200233

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I INDEX. == FILE. S
ET mediafile=01

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TRACK. == FILE. S
ET mediafile=13

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I TITLE. == FILE. S
ET mediafile="Naked"

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I PERFORMER. == FIL
E. SET mediafile="Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I ISRC. == FILE. SE
T mediafile=USAR10200234

C:\Documents and Settings\Administrator\Desktop\burn_now>IF /I INDEX. == FILE. S
ET mediafile=01

C:\Documents and Settings\Administrator\Desktop\burn_now>SET mediafile=Avril

C:\Documents and Settings\Administrator\Desktop\burn_now>SET mediafile="C:\Docum
ents and Settings\Administrator\Desktop\burn_now\Avril
The syntax of the command is incorrect.

C:\Documents and Settings\Administrator\Desktop\burn_now>If NOT EXIST "C:\Docume
nts and Settings\Administrator\Desktop\burn_now\Avril GOTO :ERROR3

C:\Documents and Settings\Administrator\Desktop\burn_now>
cdob
@Captain Dan
Move two existing lines 'Men At Work: Down Under'
CODE
::Changes \ to / (suggested by cdob)
set cuefile=%cuefile:\=/%
ECHO NEXT COMMAND WILL BE:



@jaclaz
QUOTE
Number of supported write speeds: 2
Write speed # 0: 2822 kB/s CLV/PCAV (CD 16x, DVD 2x)
Write speed # 1: 1764 kB/s CLV/PCAV (CD 10x, DVD 1x)
Cdrecord dosn't use a SpeedCounter # 0. CD write speed 10 or 16 is possible..

Audio CD images hold 2352 byte per sector and can be written to a CD, not to a DVD.
A DVD support 2048 byte per sector only.

Idea: Print CD speed only.
Initialization, disable Speed
CODE
::Checks for presence of cuefile parameter
If %1.==. GOTO :ERROR1
SET cuefile=%1

set Speed=

CODE
:GOON
For /F "tokens=1,2,* delims=: " %%A in (----.-) DO  (
IF "%%A %%B"=="Device type" ECHO %%A %%B : %%C
IF %%A==Vendor_info ECHO Vendor : %%B %%C
IF %%A==Identifikation ECHO Model : %%B %%C
)
For /F "tokens=8 delims=x " %%A in ('find /I "Maximum write speed" ----.-') DO (
SET /A Maxspeed=%%A
echo.  Maximum write speed: CD !Maxspeed!x
)
For /F "tokens=8 delims=x " %%A in ('find /I "Current write speed" ----.-') DO (
ECHO.  Current write speed: CD !Maxspeed!x
)

ECHO.
For /F "tokens=1,2 delims=:" %%A in ('Type ----.- ^| find /I "supported write speeds"') DO ECHO %%A: %%B
For /F "tokens=9 delims=x " %%A in ('find /I "Write speed #" ----.-') DO  ECHO CD write speed: %%A

ECHO.
IF defined Speed ECHO Selected write speed is: CD %Speed%x
SET /P Speed=Please input desired write speed or press [ENTER] to confirm current one:
set Speed=speed=%Speed%

:Status
Use: cdrecord ... %Speed% ...

QUOTE
Drive dev=0,0,0 Selected as it Does write CD-R media

Device type : Removable CD-ROM
Vendor : 'HL-DT-ST'
Model : 'DVDRAM GMA-4082N'
Maximum write speed: CD 16x
Current write speed: CD 16x

Number of supported write speeds: 2
CD write speed: 16
CD write speed: 10

Please input desired write speed or press [ENTER] to confirm current one: 8
jaclaz
@Captain Dan

The error you got seems like generated by a .cue file pointing to a file with spaces in it.

My bad. ph34r.gif

The lines:
CODE
For /F "tokens=1,2 delims= " %%A in ('Type %Cuefile%') DO IF /I %%A.==FILE. SET mediafile=%%B
SET mediafile=%mediafile:~1%
SET mediafile="%filespath%%mediafile%


must be changed to:

CODE
For /F "tokens=1,* delims= " %%A in ('Type %Cuefile%') DO IF /I %%A.==FILE. SET mediafile=%%B
SET mediafile=%mediafile:~1%
SET mediafile=%mediafile:BINARY=%
SET mediafile="%filespath%%mediafile%


(this should work for all files unless they are called something like "name of a file BINARY.img")

I'll see if I can find a "smarter" parsing method.


@cdob

About speed, you are right, I had thought that the fact that cdrecord somehow assigns speed #0, #1, etc. also meant that it wanted that kind of reference as parameter. blink.gif

I am updating the file with code that uses the actual 48x, 40x, etc., though it seems to me easier to "keep" the reference #0,1, etc as they should be one digit only and it is easier to use the "Counter" variable for input error checking.


I'm uploading right now ALPHA 0.2 version that takes into account the above, same link:
http://home.graffiti.net/jaclaz:graffiti.n...FX/Burn_now.zip

jaclaz
Captain Dan
@jaclaz

Ok, testing Alpha, Round Two:
Firstly...wow.

Really getting there. biggrin.gif

Functioning very well. I've found that the source .cue and .wav still need to be in the same directory as burn_now.cmd. A mere trifle though really.

Now this was interesting:

QUOTE
(this should work for all files unless they are called something like "name of a file BINARY.img")

So just to experiment, I tried this application with one of my original .cue and .img pairs.

It happily burned and produced me a CD.......of noise!


@cdob

QUOTE
You listen hissing from a audio cd?
This reminds to false endianess http://en.wikipedia.org/wiki/Endianness. Byte order may be wrong.

Challenge:
Do you use a cygwin installation?
Can you compile cdrtools from source code?

There's definitely something in this. Can you give me a quick summary of how to try this recompile (or is it too hard to explain?)

In any case, I can easily convert all my .img files to .wav using Daemon Tools and EAC.

With regards to speed, I know that for me, it is definitely preferably not to have to intervene and set the speed manually. Also, I think end users would not be sure what to choose. Maybe it can be set at 24x for good?

I have been using 7zip to do some compression experiments on my .wav files. It actually doesn't reduce them by very much. I'm seeing it take about 30mb off of a 490mb file. I wonder (and now this is really stretching it) if a cool idea might be to convert them to .flac first? Flac is open source and redistributible I believe, although this of course would slow down the unpacking stage considerably.

Anyway, the app is cooking!

I'm very grateful so far biggrin.gif

Dan
jaclaz
QUOTE (captain Dan)
Ok, testing Alpha, Round Two:
Firstly...wow.

Really getting there.


Happy it is starting to work. smile.gif

QUOTE
I've found that the source .cue and .wav still need to be in the same directory as burn_now.cmd. A mere trifle though really.
I'll recheck, I had thought I had solved that problem, at least for drag n'drop, maybe I overlooked something when file path is given on command line.

QUOTE
So just to experiment, I tried this application with one of my original .cue and .img pairs.


Well no, I wrote "name of a file BINARY.img" but actually meant "name of a file BINARY.wav".

The parsing workaround I provisionally made is just a "quick and dirty" trick to parse a line in .cue like:
QUOTE
FILE "bossa nova.wav" BINARY
The code will work and give the correct "bossa nova.wav" filename.

it will fail if the name of the file contains the string BINARY, as in this fictitious example:
QUOTE
FILE "bossa novaBINARY.wav" BINARY

as it will find the filename as "bossa nova.wav" instead of "bossa novaBINARY.wav".

The couple .cue/.img seem incompatible formats with cdrecord anyway.

I already found a possible alternative parsing method, I'll check it and use it in next ALPHA 0.3 version, hopefully together with the release of the actual "make sfx" .cmd.

jaclaz
jaclaz
Quick update.

File on the same link:
http://home.graffiti.net/jaclaz:graffiti.n...FX/Burn_now.zip

is now version 0.3 Alpha

It should now support:
- drag n'drop
- long filenames with spaces in them
- long paths with spaces in them
- files in another directory (both .cue/.wav files must be nonetheless in the SAME one)
- uses %TEMP% environment variable for temp file
- parsing of the .cue file fixed

@cdob
I found a way to solve all problems by simply using a Change Directory at the appropriate points, so that CDrecord only works from within the media files directory, no need for the \ / thingie.

Try it and report bugs, if any wink.gif .

jaclaz
jaclaz
OK I have put together the SFX thingie, here:
http://home.graffiti.net/jaclaz:graffiti.n...SFX/CDA2SFX.zip

For the moment I have put in the archive a copy of Burn_now.cmd renamed as Burn_CDA.cmd, together with the "main" CDA2SFX.CMD.

You need in the same directory where you uncompress CDA2SFX.CMD and Burn_CDA.cmd:
- cdrecord.exe
- cygwin1.dll
- 7za.exe
- 7zSD.sfx

If testiing works as expected, I'll migrate some of the checking code from Burn_CDA.cmd to CDA2SFX.CMD.

jaclaz
Captain Dan
QUOTE
If testiing works as expected


It seems to be so smile.gif

I am happily testing it now.

Really really great work!

Dan
Ben_Mott
QUOTE (skewltek @ Nov 10 2006, 04:09 AM) *
Ahh, quite right.

OK then get it here http://rapidshare.com/files/2722472/ISO2EXE.zip.html

Unzip the contents and then drag and drop an ISO file onto the ISO2EXE script... it does the rest.

-Enjoy, feedback is welcome. smile.gif


Hello SKEWITECH,
After making a lot of ISO to EXEcutables I thought they are taking too much space on my C: drive so
I moved the whole folder to another HDD which is slave and is used to restore data.
any way to cut the story short the prog did not work on that drive .
it still works on the C: drive which contains the system folders(ie Windows.
it is not a big deal as it is a fantastic program (and thank you again for sharing it with us)

I was wondering why and Just thought I will let you know.
Regards Ben
thumbup.gif
jaclaz
@Ben Mott

Are you using skewltec's version or my modified ones?
v.2
http://www.911cd.net/forums//index.php?sho...18845&st=18
v.3
http://www.911cd.net/forums//index.php?sho...18845&st=58
If the latter ones, please post about any problem, I'll see if I can replicate (and hopefully solve) it. smile.gif
It's a bit of time, but I seem to remember I never used it on C:, rather on my W: or Y: without problems.


jaclaz
Ben_Mott
Hello Jaclaz,
Thanks for your time answering, I was using SKewITECK original.
I have now moved it Back to C: drive so it is working fine ,
I have down loaded your 2 versions now and going to Keep them for future reference and testing.
as they are all such a fantastic and useful software .

Regards Ben
biggrin.gif
jaclaz
Due to the new features of IMGBURN, we now have a newish batch, CASBAH.CMD, here:
http://www.911cd.net/forums//index.php?sho...c=21123&hl=

jaclaz
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2013 Invision Power Services, Inc.