Using this reference it is possible to manipulate the project using the <link linkend="k3bprojectinterface">K3bProjectInterface</link>.</para>
</sect1>
<sect1 id="k3bprojectinterface">
<title>K3bProjectInterface</title>
<programlisting>
void addUrls(KURL::List urls)
void addUrl(KURL url)
void burn()
</programlisting>
<para>K3b offers the K3bProjectInterface as listed above or the more powerful K3bDataProjectInterface which only applies to data projects (CD and DVD):
<programlisting>
void createFolder(QString name)
void createFolder(QString name,QString parent)
void addUrl(KURL url,QString parent)
void addUrls(KURL::List urls,QString parent)
void removeItem(QString path)
void renameItem(QString path,QString newName)
void setVolumeID(QString id)
</programlisting>
</para>
<para>Using this it is possible to fill a data project with files and folders from a script.
The following script for example creates a new data project, adds several folders to the project, and adds files to the newly created folders: