Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


Nero SDK

Posted on 2003-11-28
Medium Priority
Last Modified: 2013-11-20

Can someone tell me how to burn a list of mp3 files onto an Audio CD, I have got the demo app working but it only burns one file

Question by:Dj_Fx8
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
LVL 48

Expert Comment

ID: 9841401
I think you are talking about NeroFiddles sample. It is very simple and doesn't give much for learning Nero. When I started to work with Nero SDK, I tried to change this sample to burn number of files. But this didn't giveme anythinh. To learn Nero SDK you should read the NeroCmd sample. First find the command-line parameters which produce the desired effect. After this read the program, debug it and learn.
NeroCMD makes all operations available in Nero. After learning this sample you will know all you want.
I can help you in specific issues, but currently your question is too general. To write number of files you should build NERO_ISO_ITEM list. This is code fragment from my project:

    for ( int i = 0; i < m_pDlg->m_list_files.GetCount(); i ++ )
        NERO_ISO_ITEM* pItem=NULL;

        CString sSourceFile, sDestFile;
        m_pDlg->m_list_files.GetText(i, sSourceFile);

        // destination: only file name (write only to the CD root directory)
        sDestFile = GetFileNameWithoutPath(sSourceFile);

        // create structure
        pItem = NeroCreateIsoItem ();

        if ( ! pItem )
            DeleteIsoItemTree (*ppItem);
            return EXITCODE_OUT_OF_MEMORY;

        // fill it
        strcpy(pItem->fileName, sDestFile);
        strcpy(pItem->sourceFilePath, sSourceFile);

        // add item to the beginning of NERO_ISO_ITEM list
        if ( ! *ppItem )
            *ppItem = pItem;
            pItem->nextItem = *ppItem;
            *ppItem = pItem;

This is Nero SDK forum which may be useful:

Author Comment

ID: 9842398
Hi Alex

Yes I am refering to the NeroFiddles sample, and as I still have a lot to learn I really struggling with the SDK, I had looked at the Nero forum, unfortunatly it's not got much of a range of solutions. I had a look at the code you have given and I see the princple behind it, I was working along these lines only when I try to burn the cd it fails, the log is as follows

Retrieving version information.
NeroAPI version
Filling NERO_SETTINGS structure
Initialization of the NeroAPI successful.
Found the following devices:
Image Recorder
Log line: Initialization failed

Windows 98 4.90 (ME)
WinAspi: File 'Wnaspi32.dll': Ver=1, 0, 0, 0, size=36864 bytes, created 08/06/2000 17:00:00
ahead WinASPI: File 'D:\CD\Nero 6\Nero\Wnaspi32.dll': Ver=, size=160016 bytes, created 17/06/2003 15:25:04
Nero API version:
Using interface version:
Installed in: D:\CD\Nero 6\Nero\
Application: ahead\Nero - Burning Rom
Recorder:             <PLEXTOR CD-R   PX-W1210A>Version: 1.07 - HA 0 TA 1 -
 Adapter driver:      <ESDI_506>               HA 0
 Drive buffer  :      2048kB
 Bus Type      :      default (0) -> ATAPI, detected: ATAPI
SONY DVD-ROM DDU1211 (Target 0, G:): Autoinsert On, DMA On, Disconnect ?, SyncDataXfer ?
PLEXTOR CD-R   PX-W1210A (Target 1, H:): Autoinsert On, DMA On, Disconnect ?, SyncDataXfer ?
Excluded drive IDs:
CmdQueuing     : 1
CmdNotification: 2
WriteBufferSize: 74448896 (0) Byte
ShowDrvBufStat : 0
EraseSpeed     : 0
BUFE           : 0
Physical memory     : 511MB (523704kB)
Free physical memory: 180MB (184796kB)
Memory in use       : 43 %
Uncached PFiles: 0x0
Use Static Write Speed Table: 0
Use Inquiry    : 1
Global Bus Type: default (0)
Check supported media : Disabled (0)

14:43:33      #1 Text 0 File NeroAPI.cpp, Line 3750
      Failed to create audio item
14:43:33      #2 NEROAPI 2 File NeroAPI.cpp, Line 4275
      Initialization failed

Existing drivers:
File 'IoSubSys\SCSI1HLP.VXD': Ver=4.90.3000, size=19278 bytes, created 08/06/2000 17:00:00
File 'IoSubsys\NEROCD95.VXD': Ver=, size=39882 bytes, created 11/03/2002 11:55:38
File 'IoSubsys\CDR4VSD.VXD': Ver=, size=101616 bytes, created 09/06/2003 19:00:26
File 'IoSubsys\CDRALVSD.VXD': Ver=, size=20043 bytes, created 09/06/2003 19:00:26
File 'IoSubsys\ACBHLPR.VXD': Ver=1.01, size=40508 bytes, created 02/03/2001 20:55:54
File 'IoSubsys\CDFS.VXD': Ver=4.90.3000, size=59141 bytes, created 08/06/2000 17:00:00
File 'IoSubsys\ESDI_506.PDR': Ver=4.90.3000, size=25365 bytes, created 08/06/2000 17:00:00
File 'IoSubsys\USBMPHLP.PDR': Ver=4.90.3000, size=4861 bytes, created 08/06/2000 17:00:00
File '..\System32\Drivers\1394bus.sys': Ver=4.90.3000.1, size=44240 bytes, created 08/06/2000 17:00:00
File '..\System32\Drivers\Ohci1394.sys': Ver=4.90.3000.1, size=49488 bytes, created 08/06/2000 17:00:00
File '..\System32\Drivers\Sbp2port.sys': Ver=4.90.3000.1, size=36336 bytes, created 08/06/2000 17:00:00
File 'IoSubsys\Disktsd.vxd': Ver=4.90.3000, size=18663 bytes, created 08/06/2000 17:00:00

Registry Keys:

BurnCD() : burn failed

I know this may still be very generlised but I'm really stuck on this
LVL 48

Accepted Solution

AlexFM earned 2000 total points
ID: 9843166
Leave the NeroFiddles sample and start to work with NeroCMD. I think this is an only way. This will take a time, and you will see how many problems are not solved in the NeroFiddles. It is difficult to say what is wrong here, NeroFiddles is just too simple.
NeroCMD makes all you need. First find the parameters which make CD as you need. After this read the program text and investigate it. I also tried NeroFiddles first, but made a real program only after working with NeroCMD.

Author Comment

ID: 9846544
Hi Alex

I am following your suggestion and am studying NeroCmd, ummm it's deep, now I see what you mean about NeroFiddles being simple, oh well I guess I was looking for a quick way out here :-) but no such luck. Thank you for the advice and I'll award you a grade A for your troubles, no doubt I'll have more to ask at a later date


Featured Post

Tech or Treat! - Giveaway

Submit an article about your scariest tech experience—and the solution—and you’ll be automatically entered to win one of 4 fantastic tech gadgets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Finishing the grid – keyboard support for arrow keys to manoeuvre, entering the numbers.  The PreTranslateMessage function is to be used to intercept and respond to keyboard events. Continuing from the fourth article about sudoku. …
Ready to get certified? Check out some courses that help you prepare for third-party exams.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a q…
Suggested Courses

609 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question