Log in

View Full Version : Disc enumeration, how to ?


me@work
19th February 2003, 12:06
Hi there,
exploiting the capabilities of DVD2SVCD through the last versions I'm still trying to find a way to get an enumeration in the SVCD's created.
DVD2SVCD offers to provide a movie title and a volume name, but that volume name gets written to every single SVCD, so they appear not to be distinguishable, if you forgot to leave a mark on the disc itself.
In the meantime, I edited the VCDXBuilder files and re-created the images, but I always hoped for a better solution.
So, may I kindly ask whether someone did find a better solution, for reading the Q&A, FAQ and several forum threads did not reveal a hint for my wish.
Logs and ini files are available on request, of course, but beforehand, I hope they don't matter.

Thanks in advance.

dacow
19th February 2003, 13:06
It looks like you need a plugin for that :)

Just go to post about VCD Header Trick, download ZIP file and use the source, which is coded with AutoIt batch language. What you want to achieve is very simple, just spend 15 minutes reading AutoIt help file.

--cya

me@work
21st February 2003, 12:04
@dacow:
Thanks for pointing that out. I did already read this thread but was unable to imagine the connection.
Shame on me!
Though the 15 min were not enough for me, here's what solves my problem (well, at least, a first try):

@everyone:
Whoever might be interested in a solution to my problem:


; AutoIt sources, http://www.hiddensoft.com/AutoIt/
;
; PlugIn for DVD2SVCD to number the created discs
; The last character of <volume-id> will get overwritten by a sequence number
; derived from the name of the respective .XML file

; parse the parameters from DVD2SVCD
StringReplace, TempDat, A_SCRIPTFULLPATH, .EXE, .LMX
FileDelete, %TempDat%
SetEnv, XMLfile, %4%
StringRight, Nummer, XMLfile, 5
StringLeft, Nummer, Nummer, 1
; Nummer now contains the sequence number of the disc

; Load the XML and store a temporary one
SetEnv, i, 1
SetBatchLines, 16384
looping1:
FileReadLine, zeile, %4%, %i%
IfEqual, ERRORLEVEL, 1, Goto, done1
IfNotInString, zeile, <volume-id>, Goto, cont1
StringGetPos, SGPos, zeile, </volume-id>
EnvSub, SGPos, 1
StringLeft, zeile, zeile, %SGPos%
SetEnv, zeile, %zeile%%Nummer%</volume-id>
cont1:
FileAppend, %zeile%\n, %TempDat%
EnvAdd, i, 1
Goto, looping1

done1:
SetBatchLines, 1
FileDelete, %4%
FileCopy, %TempDat%, %4%
Sleep, 1000
SetEnv, svcdx, %A_SCRIPTDIR%\\VCDImager\\vcdxbuild.exe
RunWait, "%svcdx%" %1% %2% %3% %4% %5% %6% %7% %8%,,hide
FileDelete, %TempDat%

Exit


The .EXE created by Aut2EXE needs to be copied to the main DVD2SVCD folder and needs to have the rights to create a temporary file there. Additionally, it needs to be entered as the VCDXBuild executable and calls that after its own work has been finished. Please be careful if other programs have already been hooked into xxx2SVCD !

I'm going to implement some error handling and stuff in the near future. So, if anyone finds it useful, I'll happily share the results if you notify me.

@the ingenious inventer of DVD2SVCD:
Should you be bothered if someone changes the contents of your program's directory, please drop me a line and I'm gonna change this.
Please accept my excuses if that is the case.