| |||||||
| Commercial message | |
| | |
|
![]() |
| | Thread Tools |
| | #1 (permalink) |
| New on Forum Join Date: Apr 2005
Posts: 3
| NeroCOM virtual multisessions -- I need help too! I know, there are a ton of threads devoted to this, but I can't seem to figure out what's wrong. It's driving me quite batty. The situation: Nero 6.6 (Downloaded the latest a couple days ago), therefore NeroCOM 1.3. The program is a simple backup program that burns multisession backups to CD or DVD. I can burn, I can gather files, I can even burn multisession CDs. DVDs, however, are tricky. At first, I didn't even *know* about the need for VMS, but now that I've put the code for VMS detection in, I *still* can't create multisession DVDs. The first burn works just fine. The second burn fires OnNonEmptyCDRW. I've debugged a ton, and I've figured out that my code does successfully import the previous session (I can walk through the NeroFolder and print out the contents), it just won't burn a second session. I think I'm operating on a less than full knowledge of the NerCOM API. I've got the SDK documentation, but that doesn't have anything on multisession. The only thing I can think of is that there's a problem with the actual call to BurnIsoAudioCD itself. Perhaps the flags, perhaps the burn options, perhaps other arguments. Note, for example, that I set CDExtra to False. What does that do, exactly? I can't find any documentation on it, and I've searched the threads here. The same goes for CDStamp. I pass Nothing since that's what every example does, but why? What's it good for? I capture it in OnDoneImport2, but never use it. What am I doing wrong? Anyway, here is the relevant code. Variable names are pretty descriptive, so I won't bother with the declarations. Trust me when I say they're type correct. I've stripped out some error checking code, and extraneous stuff not relevant to my problem. Code is in VBA (MS Access 2003): Code: ' the "DoBurn" method is actually a condensation of several scattered
' methods -- I don't want to clutter the thread too much.
Private Sub DoBurn()
BurnOptions = NERO_BURN_OPTION_CREATE_ISO_FS _
+ NERO_BURN_OPTION_USE_JOLIET _
+ NERO_BURN_OPTION_USE_MODE_2
' I added mode 2 as part of my debugging. not sure
' what it adds, really.
BurnFlags = NERO_BURN_FLAG_WRITE _
+ NERO_BURN_FLAG_DETECT_NON_EMPTY_CDRW _
+ NERO_BURN_FLAG_CD_TEXT
' CD_TEXT was also added during debugging. I'm also
' not sure what it does.
If Not Finalize Then
BurnFlags = BurnFlags + NERO_BURN_FLAG_CLOSE_SESSION
End If
' Finalize is a user option, but I am 100% certain it's not set
' (and therefore I only close the session, not the whole disc)
' during my first burn.
If Drive.Capabilities And NERO_CAP_BUF_UNDERRUN_PROT <> 0 Then
BurnFlags = BurnFlags + NERO_BURN_FLAG_BUF_UNDERRUN_PROT
End If
loadCDInfo
' defined below -- loads CD information
If CDInfo.Tracks.Count > 0 Then
importCD
' defined below -- imports previous sessions
End If
Set BurnRootFolder = buildFileList
' builds files from filesystem and imported session
DoneBurn = False
Set isoTrack = new NeroISOTrack
isoTrack.Name = BurnTitle
isoTrack.RootFolder = BurnRootFolder
isoTrack.BurnOptions = BurnOptions
Drive.BurnIsoAudioCD BurnTitle, SessionTitle, False, isoTrack, _
Nothing, Nothing, BurnFlags, _
0, CDInfo.MediaType
' 0 selects fastest speed. Last argument
' selects to burn whatever happens
' to be in the drive at the moment.
' For my tests, I've been using DVD-RW
Do While Not DoneBurn
DoEvents
Loop
End Sub
Private Sub importCD()
DoneImport = False
If CDInfo.MediumFlags And NCDIMF_VIRTUALMULTISESSION <> 0 Then
Dim vmi as NeroVMSInfo
Dim VMS as NeroVMSSession
Set vmi = drive.GetVMSInfo
Drive.ImportIsoTrack vmi.Count - 1, NERO_IMPORT_VMS_SESSION
Else
Drive.ImportIsoTrack CDInfo.Tracks.Count - 1, _
NERO_IMPORT_ISO_ONLY
End If
Do While Not DoneImport
DoEvents
Loop
End Sub
Private Sub loadCDInfo()
DoneCDInfo = False
Drive.CDInfo NERO_READ_ISRC
Do While Not DoneCDInfo
DoEvents
Loop
End Sub
Private Sub Drive_OnDoneBurn(StatusCode As NEROLib.NERO_BURN_ERROR)
DoneBurnStatus = StatusCode
DoneBurn = True
End Sub
Private Sub Drive_OnDoneCDInfo(ByVal pCDInfo As NEROLib.INeroCDInfo)
Set CDInfo = pCDInfo
DoneCDInfo = True
End Sub
Private Sub Drive_OnDoneImport2(ByVal bOK As Boolean, ByVal pFolder As NEROLib.INeroFolder, _
ByVal pCDStamp As NEROLib.INeroCDStamp, _
ByVal pImportInfo As NEROLib.INeroImportDataTrackInfo, _
ByVal importResult As NEROLib.NERO_IMPORT_DATA_TRACK_RESULT)
If bOK Then
Set BurnRootFolder = pFolder
Set ImportedCDStamp = pCDStamp
BurnTitle = pImportInfo.VolumeName
Else
MsgBox "Error Importing"
End If
DoneImport = True
End Sub
__________________ If knowledge is power, then a god am I! |
| | |
| | #4 (permalink) |
| New on Forum Join Date: Apr 2005
Posts: 3
| Re: NeroCOM virtual multisessions -- I need help too! Ok, I'll try that when I get in to work. But let me also ask: Why is it possible to create a multisession *CD* without the CDStamp, but not DVD?
__________________ If knowledge is power, then a god am I! |
| | |
| |
| |
![]() |
| If you can't find where you are looking for, then become a member and get an answer fast! We have thousands of people online every moment of the day to help you! Click here |
| Bookmarks |
| Thread Tools | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Alternative Software to read Multisessions discs (like Multimounter) | Houngan | Burning Software | 3 | 24-10-2007 19:02 |
| can't read multisessions | userlander | Newbie Forum | 5 | 27-12-2006 17:53 |
| multisessions | nate39 | Nero & InCD | 1 | 01-01-2006 14:39 |
| Multisessions... | Lvdv | Nero SDK Discussion Forum | 1 | 31-07-2004 11:15 |
| Backing up KARAOKE DISCS with Multisessions | Zucco | General Software | 1 | 25-12-2003 01:39 |