Nero SDK


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

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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:
Dj_Fx8Author Commented:
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
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.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Dj_Fx8Author Commented:
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

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
System Programming

From novice to tech pro — start learning today.