Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > cfb294ee1572908452c51e8499826074 > files > 67

libmtp-doc-1.1.6-2.mga4.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>libmtp: The audio/video playlist management API.</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">libmtp
   &#160;<span id="projectnumber">1.1.6</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">The audio/video playlist management API.</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga2053102a0b5f3a8a56fc8aec4d76c064"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__playlists.html#ga2053102a0b5f3a8a56fc8aec4d76c064">LIBMTP_new_playlist_t</a> (void)</td></tr>
<tr class="separator:ga2053102a0b5f3a8a56fc8aec4d76c064"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d6ce37c43c3cbbac49de849d8aafe77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__playlists.html#ga8d6ce37c43c3cbbac49de849d8aafe77">LIBMTP_destroy_playlist_t</a> (<a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a> *)</td></tr>
<tr class="separator:ga8d6ce37c43c3cbbac49de849d8aafe77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d4fc219b6680185584ec1a3e63c9e24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__playlists.html#ga0d4fc219b6680185584ec1a3e63c9e24">LIBMTP_Get_Playlist_List</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:ga0d4fc219b6680185584ec1a3e63c9e24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga463909ddaa9e0e26055aa21f4d895598"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__playlists.html#ga463909ddaa9e0e26055aa21f4d895598">LIBMTP_Get_Playlist</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, uint32_t const)</td></tr>
<tr class="separator:ga463909ddaa9e0e26055aa21f4d895598"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7f6918e38993f51b1e32b1d61fcf6dab"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__playlists.html#ga7f6918e38993f51b1e32b1d61fcf6dab">LIBMTP_Create_New_Playlist</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, <a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a> *const)</td></tr>
<tr class="separator:ga7f6918e38993f51b1e32b1d61fcf6dab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03f4cc9c57a6d651add7528d5477a758"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__playlists.html#ga03f4cc9c57a6d651add7528d5477a758">LIBMTP_Update_Playlist</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, <a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a> *const)</td></tr>
<tr class="separator:ga03f4cc9c57a6d651add7528d5477a758"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga312a94c994a3b7bcce08a239fbe09938"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__playlists.html#ga312a94c994a3b7bcce08a239fbe09938">LIBMTP_Set_Playlist_Name</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, <a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a> *, const char *)</td></tr>
<tr class="separator:ga312a94c994a3b7bcce08a239fbe09938"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga7f6918e38993f51b1e32b1d61fcf6dab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Create_New_Playlist </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a> *const&#160;</td>
          <td class="paramname"><em>metadata</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This routine creates a new playlist based on the metadata supplied. If the <code>tracks</code> field of the metadata contains a track listing, these tracks will be added to the playlist. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to create the new playlist on. </td></tr>
    <tr><td class="paramname">metadata</td><td>the metadata for the new playlist. If the function exits with success, the <code>playlist_id</code> field of this struct will contain the new playlist ID of the playlist. <ul>
<li>
<code>metadata-&gt;parent_id</code> should be set to the parent (e.g. folder) to store this track in. Since some devices are a bit picky about where files are placed, a default folder will be chosen if libmtp has detected one for the current filetype and this parameter is set to 0. If this is 0 and no default folder can be found, the file will be stored in the root folder. </li>
<li>
<code>metadata-&gt;storage_id</code> should be set to the desired storage (e.g. memory card or whatever your device presents) to store this track in. Setting this to 0 will store the track on the primary storage. </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__playlists.html#ga03f4cc9c57a6d651add7528d5477a758">LIBMTP_Update_Playlist()</a> </dd>
<dd>
<a class="el" href="group__objects.html#gac867594319fa48a0d6077d17aaf66222">LIBMTP_Delete_Object()</a> </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#ab3c299ac4308bb8eb8c405ae3b6c9572">LIBMTP_mtpdevice_struct::default_music_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a71abef440225c8eec56ee50eb1385291">LIBMTP_mtpdevice_struct::default_playlist_folder</a>, <a class="el" href="libusb-glue_8h.html#a9ab9a6ffc3a367126e97241c8d3c8250">get_playlist_extension()</a>, <a class="el" href="structLIBMTP__playlist__struct.html#a5b6b8e1bfbaaa46f6a385e731ccd6d88">LIBMTP_playlist_struct::name</a>, <a class="el" href="structLIBMTP__playlist__struct.html#a868f74d17f319549b7e14d9f95826c6f">LIBMTP_playlist_struct::no_tracks</a>, <a class="el" href="structLIBMTP__playlist__struct.html#a75df5dab26e8f9fa2442733c585c1dca">LIBMTP_playlist_struct::parent_id</a>, <a class="el" href="structLIBMTP__playlist__struct.html#a5b4318db74debe4e1276c4b5b6e67467">LIBMTP_playlist_struct::playlist_id</a>, <a class="el" href="structLIBMTP__playlist__struct.html#aebfd7b392d56e5f298dd28308400a2c3">LIBMTP_playlist_struct::storage_id</a>, <a class="el" href="structLIBMTP__playlist__struct.html#aaa520f5654349df19e4be8cf6f96a6f7">LIBMTP_playlist_struct::tracks</a>, and <a class="el" href="structLIBMTP__mtpdevice__struct.html#a5560f6638d9626ab26a2be48e9585ad1">LIBMTP_mtpdevice_struct::usbinfo</a>.</p>

</div>
</div>
<a class="anchor" id="ga8d6ce37c43c3cbbac49de849d8aafe77"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LIBMTP_destroy_playlist_t </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a> *&#160;</td>
          <td class="paramname"><em>playlist</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This destroys a playlist metadata structure and deallocates the memory used by it, including any strings. Never use a track metadata structure again after calling this function on it. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">playlist</td><td>the playlist metadata to destroy. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__playlists.html#ga2053102a0b5f3a8a56fc8aec4d76c064">LIBMTP_new_playlist_t()</a> </dd></dl>

<p>References <a class="el" href="structLIBMTP__playlist__struct.html#a5b6b8e1bfbaaa46f6a385e731ccd6d88">LIBMTP_playlist_struct::name</a>, and <a class="el" href="structLIBMTP__playlist__struct.html#aaa520f5654349df19e4be8cf6f96a6f7">LIBMTP_playlist_struct::tracks</a>.</p>

</div>
</div>
<a class="anchor" id="ga463909ddaa9e0e26055aa21f4d895598"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a>* LIBMTP_Get_Playlist </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t const&#160;</td>
          <td class="paramname"><em>plid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function retrieves an individual playlist from the device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to get the playlist from. </td></tr>
    <tr><td class="paramname">plid</td><td>the unique ID of the playlist to retrieve. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a valid playlist metadata post or NULL on failure. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__playlists.html#ga0d4fc219b6680185584ec1a3e63c9e24">LIBMTP_Get_Playlist_List()</a> </dd></dl>

<p>References <a class="el" href="group__playlists.html#ga2053102a0b5f3a8a56fc8aec4d76c064">LIBMTP_new_playlist_t()</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>, and <a class="el" href="structLIBMTP__mtpdevice__struct.html#a5560f6638d9626ab26a2be48e9585ad1">LIBMTP_mtpdevice_struct::usbinfo</a>.</p>

</div>
</div>
<a class="anchor" id="ga0d4fc219b6680185584ec1a3e63c9e24"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a>* LIBMTP_Get_Playlist_List </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function returns a list of the playlists available on the device. Typical usage:</p>
<pre>
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to get the playlist listing from. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a playlist list on success, else NULL. If there are no playlists on the device, NULL will be returned as well. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__playlists.html#ga463909ddaa9e0e26055aa21f4d895598">LIBMTP_Get_Playlist()</a> </dd></dl>

<p>References <a class="el" href="group__playlists.html#ga2053102a0b5f3a8a56fc8aec4d76c064">LIBMTP_new_playlist_t()</a>, <a class="el" href="structLIBMTP__playlist__struct.html#a5b6b8e1bfbaaa46f6a385e731ccd6d88">LIBMTP_playlist_struct::name</a>, <a class="el" href="structLIBMTP__playlist__struct.html#a10548ce4c6afd1cecd77eaff2c7cf402">LIBMTP_playlist_struct::next</a>, <a class="el" href="structLIBMTP__playlist__struct.html#a868f74d17f319549b7e14d9f95826c6f">LIBMTP_playlist_struct::no_tracks</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>, <a class="el" href="structLIBMTP__playlist__struct.html#a75df5dab26e8f9fa2442733c585c1dca">LIBMTP_playlist_struct::parent_id</a>, <a class="el" href="structLIBMTP__playlist__struct.html#a5b4318db74debe4e1276c4b5b6e67467">LIBMTP_playlist_struct::playlist_id</a>, <a class="el" href="structLIBMTP__playlist__struct.html#aebfd7b392d56e5f298dd28308400a2c3">LIBMTP_playlist_struct::storage_id</a>, <a class="el" href="structLIBMTP__playlist__struct.html#aaa520f5654349df19e4be8cf6f96a6f7">LIBMTP_playlist_struct::tracks</a>, and <a class="el" href="structLIBMTP__mtpdevice__struct.html#a5560f6638d9626ab26a2be48e9585ad1">LIBMTP_mtpdevice_struct::usbinfo</a>.</p>

</div>
</div>
<a class="anchor" id="ga2053102a0b5f3a8a56fc8aec4d76c064"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a>* LIBMTP_new_playlist_t </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This creates a new playlist metadata structure and allocates memory for it. Notice that if you add strings to this structure they will be freed by the corresponding <code>LIBMTP_destroy_playlist_t</code> operation later, so be careful of using strdup() when assigning strings, e.g.:</p>
<pre>
LIBMTP_playlist_t *pl = <a class="el" href="group__playlists.html#ga2053102a0b5f3a8a56fc8aec4d76c064">LIBMTP_new_playlist_t()</a>;
pl-&gt;name = strdup(str);
....
LIBMTP_destroy_playlist_t(pl);
</pre><dl class="section return"><dt>Returns</dt><dd>a pointer to the newly allocated metadata structure. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__playlists.html#ga8d6ce37c43c3cbbac49de849d8aafe77">LIBMTP_destroy_playlist_t()</a> </dd></dl>

<p>References <a class="el" href="structLIBMTP__playlist__struct.html#a5b4318db74debe4e1276c4b5b6e67467">LIBMTP_playlist_struct::playlist_id</a>.</p>

<p>Referenced by <a class="el" href="group__playlists.html#ga463909ddaa9e0e26055aa21f4d895598">LIBMTP_Get_Playlist()</a>, and <a class="el" href="group__playlists.html#ga0d4fc219b6680185584ec1a3e63c9e24">LIBMTP_Get_Playlist_List()</a>.</p>

</div>
</div>
<a class="anchor" id="ga312a94c994a3b7bcce08a239fbe09938"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Set_Playlist_Name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a> *&#160;</td>
          <td class="paramname"><em>playlist</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>newname</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function renames a single playlist object file holder. This simply means that the <code>PTP_OPC_ObjectFileName</code> property is updated, if this is supported by the device. The playlist filename should nominally end with an extension like ".pla".</p>
<p>NOTE: if you want to change the metadata the device display about a playlist you must <em>not</em> use this function, use <code><a class="el" href="group__playlists.html#ga03f4cc9c57a6d651add7528d5477a758">LIBMTP_Update_Playlist()</a></code> instead!</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device that contains the file. </td></tr>
    <tr><td class="paramname">playlist</td><td>the playlist metadata of the playlist to rename. On success, the name member is updated. Be aware, that this name can be different than newname depending of device restrictions. </td></tr>
    <tr><td class="paramname">newname</td><td>the new name for this object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__playlists.html#ga03f4cc9c57a6d651add7528d5477a758">LIBMTP_Update_Playlist()</a> </dd></dl>

<p>References <a class="el" href="structLIBMTP__playlist__struct.html#a5b6b8e1bfbaaa46f6a385e731ccd6d88">LIBMTP_playlist_struct::name</a>, and <a class="el" href="structLIBMTP__playlist__struct.html#a5b4318db74debe4e1276c4b5b6e67467">LIBMTP_playlist_struct::playlist_id</a>.</p>

</div>
</div>
<a class="anchor" id="ga03f4cc9c57a6d651add7528d5477a758"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Update_Playlist </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a> *const&#160;</td>
          <td class="paramname"><em>metadata</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This routine updates a playlist based on the metadata supplied. If the <code>tracks</code> field of the metadata contains a track listing, these tracks will be added to the playlist in place of those already present, i.e. the previous track listing will be deleted. For Samsung devices the playlist id (metadata-&gt;playlist_id) is likely to change. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to create the new playlist on. </td></tr>
    <tr><td class="paramname">metadata</td><td>the metadata for the playlist to be updated. notice that the field <code>playlist_id</code> must contain the apropriate playlist ID. Playlist ID be modified to a new playlist ID by the time the function returns since edit-in-place is not always possible. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__playlists.html#ga7f6918e38993f51b1e32b1d61fcf6dab">LIBMTP_Create_New_Playlist()</a> </dd>
<dd>
<a class="el" href="group__objects.html#gac867594319fa48a0d6077d17aaf66222">LIBMTP_Delete_Object()</a> </dd></dl>

<p>References <a class="el" href="structLIBMTP__playlist__struct.html#a5b6b8e1bfbaaa46f6a385e731ccd6d88">LIBMTP_playlist_struct::name</a>, <a class="el" href="structLIBMTP__playlist__struct.html#a868f74d17f319549b7e14d9f95826c6f">LIBMTP_playlist_struct::no_tracks</a>, <a class="el" href="structLIBMTP__playlist__struct.html#a5b4318db74debe4e1276c4b5b6e67467">LIBMTP_playlist_struct::playlist_id</a>, <a class="el" href="structLIBMTP__playlist__struct.html#aaa520f5654349df19e4be8cf6f96a6f7">LIBMTP_playlist_struct::tracks</a>, and <a class="el" href="structLIBMTP__mtpdevice__struct.html#a5560f6638d9626ab26a2be48e9585ad1">LIBMTP_mtpdevice_struct::usbinfo</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Oct 18 2013 23:02:46 for libmtp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>