<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>TagLib::MPEG::File Class Reference (TagLib)</title> <link href="taglib-api.css" rel="stylesheet" type="text/css"> </head> <body> <div id="container"> <table border="0" width="100%"> <tr> <td width="1"> <img src="../taglib.png"> </td> <td> <div id="intro"> <table border="0" height="119" cellpadding="0" cellspacing="0" width="100%"> <tr><td valign="top"><h1>TagLib 1.8.0 (TagLib::MPEG::File Class Reference)</h1></td></tr> <tr> <td valign="bottom"> <div id="links"> <a href="index.html">Home</a> <a href="inherits.html">Class Hierarchy</a> <a href="namespaces.html">Namespaces</a> <a href="annotated.html">Classes</a> <a href="files.html">Headers</a> <a href="namespacemembers.html">Namespace Members</a> <a href="functions.html">Class Members</a> <a href="globals.html">File Members</a> </div> </td> </tr> </table> </div> </td> </tr> </table> <div id="text"> <!-- Generated by Doxygen 1.8.3 --> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespaceTagLib.html">TagLib</a></li><li class="navelem"><a class="el" href="namespaceTagLib_1_1MPEG.html">MPEG</a></li><li class="navelem"><a class="el" href="classTagLib_1_1MPEG_1_1File.html">File</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="classTagLib_1_1MPEG_1_1File-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">TagLib::MPEG::File Class Reference</div> </div> </div><!--header--> <div class="contents"> <p>An <a class="el" href="namespaceTagLib_1_1MPEG.html" title="An implementation of TagLib::File with MPEG (MP3) specific methods.">MPEG</a> file class with some useful methods specific to <a class="el" href="namespaceTagLib_1_1MPEG.html" title="An implementation of TagLib::File with MPEG (MP3) specific methods.">MPEG</a>. <a href="classTagLib_1_1MPEG_1_1File.html#details">More...</a></p> <p><code>#include <<a class="el" href="mpegfile_8h_source.html">mpegfile.h</a>></code></p> <div class="dynheader"> Inheritance diagram for TagLib::MPEG::File:</div> <div class="dyncontent"> <div class="center"><img src="classTagLib_1_1MPEG_1_1File__inherit__graph.png" border="0" usemap="#TagLib_1_1MPEG_1_1File_inherit__map" alt="Inheritance graph"/></div> <map name="TagLib_1_1MPEG_1_1File_inherit__map" id="TagLib_1_1MPEG_1_1File_inherit__map"> <area shape="rect" id="node2" href="classTagLib_1_1File.html" title="A file class with some useful methods for tag manipulation." alt="" coords="28,5,119,32"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <div class="dynheader"> Collaboration diagram for TagLib::MPEG::File:</div> <div class="dyncontent"> <div class="center"><img src="classTagLib_1_1MPEG_1_1File__coll__graph.png" border="0" usemap="#TagLib_1_1MPEG_1_1File_coll__map" alt="Collaboration graph"/></div> <map name="TagLib_1_1MPEG_1_1File_coll__map" id="TagLib_1_1MPEG_1_1File_coll__map"> <area shape="rect" id="node2" href="classTagLib_1_1File.html" title="A file class with some useful methods for tag manipulation." alt="" coords="28,5,119,32"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> Public Types</h2></td></tr> <tr class="memitem:a2fcf6920f55596560d01cc93538162ca"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a2fcf6920f55596560d01cc93538162ca">TagTypes</a> { <br/>   <a class="el" href="classTagLib_1_1MPEG_1_1File.html#a2fcf6920f55596560d01cc93538162caa203f60b81d8f8e5ddfaa06957f90da1a">NoTags</a> = 0x0000, <a class="el" href="classTagLib_1_1MPEG_1_1File.html#a2fcf6920f55596560d01cc93538162caa636d68431df41f584bdd29f120a6e42e">ID3v1</a> = 0x0001, <a class="el" href="classTagLib_1_1MPEG_1_1File.html#a2fcf6920f55596560d01cc93538162caa7153e236bfa863d8ff4ed529a0df0d35">ID3v2</a> = 0x0002, <a class="el" href="classTagLib_1_1MPEG_1_1File.html#a2fcf6920f55596560d01cc93538162caa8c640478840e7bb7d181bfb2abfa7004">APE</a> = 0x0004, <br/>   <a class="el" href="classTagLib_1_1MPEG_1_1File.html#a2fcf6920f55596560d01cc93538162caa3b2e2cab990c05fe76a0296c025d8222">AllTags</a> = 0xffff <br/> }</td></tr> <tr class="separator:a2fcf6920f55596560d01cc93538162ca"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_types_classTagLib_1_1File"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classTagLib_1_1File')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classTagLib_1_1File.html">TagLib::File</a></td></tr> <tr class="memitem:a8fd2780138fc011b6a487e0b3a6615f6 inherit pub_types_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a8fd2780138fc011b6a487e0b3a6615f6">Position</a> { <a class="el" href="classTagLib_1_1File.html#a8fd2780138fc011b6a487e0b3a6615f6a5540c31bc3e5913de0eb0e74b37fceee">Beginning</a>, <a class="el" href="classTagLib_1_1File.html#a8fd2780138fc011b6a487e0b3a6615f6a35f5d45d2ffd1f0657002fae7ecc4d81">Current</a>, <a class="el" href="classTagLib_1_1File.html#a8fd2780138fc011b6a487e0b3a6615f6abb0a058ef6a0a7cc053301833faddfcd">End</a> }</td></tr> <tr class="separator:a8fd2780138fc011b6a487e0b3a6615f6 inherit pub_types_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:ab79d8e6404b02007713af133d4894636"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#ab79d8e6404b02007713af133d4894636">File</a> (<a class="el" href="namespaceTagLib.html#a14b47d9629bae2779b5c8a7517329fbb">FileName</a> file, bool readProperties=true, <a class="el" href="classTagLib_1_1AudioProperties.html#ae43831c9807aaf08d60d9b3b5efb67bb">Properties::ReadStyle</a> propertiesStyle=<a class="el" href="classTagLib_1_1AudioProperties.html#ae43831c9807aaf08d60d9b3b5efb67bbac7b0fcdd909bbb360f26d60c6bc57f4e">Properties::Average</a>)</td></tr> <tr class="separator:ab79d8e6404b02007713af133d4894636"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaf2fc5fcba2642add53c6306d9e9e45d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#aaf2fc5fcba2642add53c6306d9e9e45d">File</a> (<a class="el" href="namespaceTagLib.html#a14b47d9629bae2779b5c8a7517329fbb">FileName</a> file, <a class="el" href="classTagLib_1_1ID3v2_1_1FrameFactory.html">ID3v2::FrameFactory</a> *frameFactory, bool readProperties=true, <a class="el" href="classTagLib_1_1AudioProperties.html#ae43831c9807aaf08d60d9b3b5efb67bb">Properties::ReadStyle</a> propertiesStyle=<a class="el" href="classTagLib_1_1AudioProperties.html#ae43831c9807aaf08d60d9b3b5efb67bbac7b0fcdd909bbb360f26d60c6bc57f4e">Properties::Average</a>)</td></tr> <tr class="separator:aaf2fc5fcba2642add53c6306d9e9e45d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad3ac226309beb3989abf70b9ff02ed2f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#ad3ac226309beb3989abf70b9ff02ed2f">File</a> (<a class="el" href="classTagLib_1_1IOStream.html">IOStream</a> *stream, <a class="el" href="classTagLib_1_1ID3v2_1_1FrameFactory.html">ID3v2::FrameFactory</a> *frameFactory, bool readProperties=true, <a class="el" href="classTagLib_1_1AudioProperties.html#ae43831c9807aaf08d60d9b3b5efb67bb">Properties::ReadStyle</a> propertiesStyle=<a class="el" href="classTagLib_1_1AudioProperties.html#ae43831c9807aaf08d60d9b3b5efb67bbac7b0fcdd909bbb360f26d60c6bc57f4e">Properties::Average</a>)</td></tr> <tr class="separator:ad3ac226309beb3989abf70b9ff02ed2f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a99689b55c2282dd2f6f388171e8c5f4e"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a99689b55c2282dd2f6f388171e8c5f4e">~File</a> ()</td></tr> <tr class="separator:a99689b55c2282dd2f6f388171e8c5f4e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aae67d8b32c72b6232d9ded88e1c10cfa"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classTagLib_1_1Tag.html">Tag</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#aae67d8b32c72b6232d9ded88e1c10cfa">tag</a> () const </td></tr> <tr class="separator:aae67d8b32c72b6232d9ded88e1c10cfa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a14e4829e69f02b5abadae8d170c866f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTagLib_1_1PropertyMap.html">PropertyMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a14e4829e69f02b5abadae8d170c866f9">properties</a> () const </td></tr> <tr class="separator:a14e4829e69f02b5abadae8d170c866f9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac29e7b564399a24c79acbbecc93295fc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#ac29e7b564399a24c79acbbecc93295fc">removeUnsupportedProperties</a> (const <a class="el" href="classTagLib_1_1StringList.html">StringList</a> &<a class="el" href="classTagLib_1_1MPEG_1_1File.html#a14e4829e69f02b5abadae8d170c866f9">properties</a>)</td></tr> <tr class="separator:ac29e7b564399a24c79acbbecc93295fc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5811ad0d8ed86db539fc8b70a3f72b12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTagLib_1_1PropertyMap.html">PropertyMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a5811ad0d8ed86db539fc8b70a3f72b12">setProperties</a> (const <a class="el" href="classTagLib_1_1PropertyMap.html">PropertyMap</a> &)</td></tr> <tr class="separator:a5811ad0d8ed86db539fc8b70a3f72b12"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1d6f977dff6762d1bb194bf86eeae117"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classTagLib_1_1MPEG_1_1Properties.html">Properties</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a1d6f977dff6762d1bb194bf86eeae117">audioProperties</a> () const </td></tr> <tr class="separator:a1d6f977dff6762d1bb194bf86eeae117"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afc6db369d727b4bd4cb5b5802b7cde31"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#afc6db369d727b4bd4cb5b5802b7cde31">save</a> ()</td></tr> <tr class="separator:afc6db369d727b4bd4cb5b5802b7cde31"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acfe8c97e6d551f5bc1f588d3c2bf5bf5"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#acfe8c97e6d551f5bc1f588d3c2bf5bf5">save</a> (int tags)</td></tr> <tr class="separator:acfe8c97e6d551f5bc1f588d3c2bf5bf5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a34325bf6c807b18423102b2d1a7f4ec3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a34325bf6c807b18423102b2d1a7f4ec3">save</a> (int tags, bool stripOthers)</td></tr> <tr class="separator:a34325bf6c807b18423102b2d1a7f4ec3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a49d6f5b8f7a381fad63c0d131ae8c4eb"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a49d6f5b8f7a381fad63c0d131ae8c4eb">save</a> (int tags, bool stripOthers, int id3v2Version)</td></tr> <tr class="separator:a49d6f5b8f7a381fad63c0d131ae8c4eb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aebe5029bca925e9ed7002b00244c1240"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTagLib_1_1ID3v2_1_1Tag.html">ID3v2::Tag</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#aebe5029bca925e9ed7002b00244c1240">ID3v2Tag</a> (bool create=false)</td></tr> <tr class="separator:aebe5029bca925e9ed7002b00244c1240"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7ae340bcd74f74289fc4f0cdba8c2bd5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTagLib_1_1ID3v1_1_1Tag.html">ID3v1::Tag</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a7ae340bcd74f74289fc4f0cdba8c2bd5">ID3v1Tag</a> (bool create=false)</td></tr> <tr class="separator:a7ae340bcd74f74289fc4f0cdba8c2bd5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af7edcd1be38683a64b23f9281012e51c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTagLib_1_1APE_1_1Tag.html">APE::Tag</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#af7edcd1be38683a64b23f9281012e51c">APETag</a> (bool create=false)</td></tr> <tr class="separator:af7edcd1be38683a64b23f9281012e51c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae1ac9ceeadc0c3466d88b11bf084dd6c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#ae1ac9ceeadc0c3466d88b11bf084dd6c">strip</a> (int tags=<a class="el" href="classTagLib_1_1MPEG_1_1File.html#a2fcf6920f55596560d01cc93538162caa3b2e2cab990c05fe76a0296c025d8222">AllTags</a>)</td></tr> <tr class="separator:ae1ac9ceeadc0c3466d88b11bf084dd6c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0fbef1b2641c95f4788230b06131b158"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a0fbef1b2641c95f4788230b06131b158">strip</a> (int tags, bool freeMemory)</td></tr> <tr class="separator:a0fbef1b2641c95f4788230b06131b158"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abddd5ee7b045b8996dfbbad757ce36bf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#abddd5ee7b045b8996dfbbad757ce36bf">setID3v2FrameFactory</a> (const <a class="el" href="classTagLib_1_1ID3v2_1_1FrameFactory.html">ID3v2::FrameFactory</a> *factory)</td></tr> <tr class="separator:abddd5ee7b045b8996dfbbad757ce36bf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a531eb2a7e9eabf9565659b3162961d38"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a531eb2a7e9eabf9565659b3162961d38">firstFrameOffset</a> ()</td></tr> <tr class="separator:a531eb2a7e9eabf9565659b3162961d38"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afd3fbe4cd00a6f1181c6b81591d04c0a"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#afd3fbe4cd00a6f1181c6b81591d04c0a">nextFrameOffset</a> (long position)</td></tr> <tr class="separator:afd3fbe4cd00a6f1181c6b81591d04c0a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae0627cd48f391a6a38c5ce64d47d0ebf"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#ae0627cd48f391a6a38c5ce64d47d0ebf">previousFrameOffset</a> (long position)</td></tr> <tr class="separator:ae0627cd48f391a6a38c5ce64d47d0ebf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a181e850d7fdf2be6421034fdf62db97c"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a181e850d7fdf2be6421034fdf62db97c">lastFrameOffset</a> ()</td></tr> <tr class="separator:a181e850d7fdf2be6421034fdf62db97c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a68bee5b50ed952cfb2b67ee91be65574"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a68bee5b50ed952cfb2b67ee91be65574">hasID3v1Tag</a> () const </td></tr> <tr class="separator:a68bee5b50ed952cfb2b67ee91be65574"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae42d5385d4e56818c8d10747190d5185"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#ae42d5385d4e56818c8d10747190d5185">hasID3v2Tag</a> () const </td></tr> <tr class="separator:ae42d5385d4e56818c8d10747190d5185"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a553f1391a5038e66e427fc201c9d8933"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a553f1391a5038e66e427fc201c9d8933">hasAPETag</a> () const </td></tr> <tr class="separator:a553f1391a5038e66e427fc201c9d8933"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_methods_classTagLib_1_1File"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classTagLib_1_1File')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classTagLib_1_1File.html">TagLib::File</a></td></tr> <tr class="memitem:a861c7094cfac168df2f219aaabd66aac inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceTagLib.html#a14b47d9629bae2779b5c8a7517329fbb">FileName</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a861c7094cfac168df2f219aaabd66aac">name</a> () const </td></tr> <tr class="separator:a861c7094cfac168df2f219aaabd66aac inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7b9714be64e20ffc0ded89ed1bfc98fe inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTagLib_1_1PropertyMap.html">PropertyMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a7b9714be64e20ffc0ded89ed1bfc98fe">properties</a> () const </td></tr> <tr class="separator:a7b9714be64e20ffc0ded89ed1bfc98fe inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9f58045d926c82d92f4a993adf7e5a27 inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a9f58045d926c82d92f4a993adf7e5a27">removeUnsupportedProperties</a> (const <a class="el" href="classTagLib_1_1StringList.html">StringList</a> &<a class="el" href="classTagLib_1_1File.html#a7b9714be64e20ffc0ded89ed1bfc98fe">properties</a>)</td></tr> <tr class="separator:a9f58045d926c82d92f4a993adf7e5a27 inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af77d6db75372269c438417954f228ee3 inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTagLib_1_1PropertyMap.html">PropertyMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#af77d6db75372269c438417954f228ee3">setProperties</a> (const <a class="el" href="classTagLib_1_1PropertyMap.html">PropertyMap</a> &<a class="el" href="classTagLib_1_1File.html#a7b9714be64e20ffc0ded89ed1bfc98fe">properties</a>)</td></tr> <tr class="separator:af77d6db75372269c438417954f228ee3 inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae7c1f7045a34e24bb1bb0ae465a28950 inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTagLib_1_1ByteVector.html">ByteVector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#ae7c1f7045a34e24bb1bb0ae465a28950">readBlock</a> (<a class="el" href="namespaceTagLib.html#ad5f96f80aa970776e1d9079c1b1ac982">ulong</a> <a class="el" href="classTagLib_1_1File.html#a7d456d4a75d9a88332c32212dcc009c2">length</a>)</td></tr> <tr class="separator:ae7c1f7045a34e24bb1bb0ae465a28950 inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a30f11f924a8046b7f6bc64bf7db4bc62 inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a30f11f924a8046b7f6bc64bf7db4bc62">writeBlock</a> (const <a class="el" href="classTagLib_1_1ByteVector.html">ByteVector</a> &data)</td></tr> <tr class="separator:a30f11f924a8046b7f6bc64bf7db4bc62 inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad745cdf2dfe54a2c43ac632f65100261 inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#ad745cdf2dfe54a2c43ac632f65100261">find</a> (const <a class="el" href="classTagLib_1_1ByteVector.html">ByteVector</a> &pattern, long fromOffset=0, const <a class="el" href="classTagLib_1_1ByteVector.html">ByteVector</a> &before=<a class="el" href="classTagLib_1_1ByteVector.html#a7593a608427eb6f855c4dc48558ad8a4">ByteVector::null</a>)</td></tr> <tr class="separator:ad745cdf2dfe54a2c43ac632f65100261 inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adf7ac7fcee6fdab314d41c329d7b4916 inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#adf7ac7fcee6fdab314d41c329d7b4916">rfind</a> (const <a class="el" href="classTagLib_1_1ByteVector.html">ByteVector</a> &pattern, long fromOffset=0, const <a class="el" href="classTagLib_1_1ByteVector.html">ByteVector</a> &before=<a class="el" href="classTagLib_1_1ByteVector.html#a7593a608427eb6f855c4dc48558ad8a4">ByteVector::null</a>)</td></tr> <tr class="separator:adf7ac7fcee6fdab314d41c329d7b4916 inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa7f773ccdddccce45d784bc3d3a739ee inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#aa7f773ccdddccce45d784bc3d3a739ee">insert</a> (const <a class="el" href="classTagLib_1_1ByteVector.html">ByteVector</a> &data, <a class="el" href="namespaceTagLib.html#ad5f96f80aa970776e1d9079c1b1ac982">ulong</a> start=0, <a class="el" href="namespaceTagLib.html#ad5f96f80aa970776e1d9079c1b1ac982">ulong</a> replace=0)</td></tr> <tr class="separator:aa7f773ccdddccce45d784bc3d3a739ee inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3bd768ba86f6b52cf4f3db4078f0f31f inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a3bd768ba86f6b52cf4f3db4078f0f31f">removeBlock</a> (<a class="el" href="namespaceTagLib.html#ad5f96f80aa970776e1d9079c1b1ac982">ulong</a> start=0, <a class="el" href="namespaceTagLib.html#ad5f96f80aa970776e1d9079c1b1ac982">ulong</a> <a class="el" href="classTagLib_1_1File.html#a7d456d4a75d9a88332c32212dcc009c2">length</a>=0)</td></tr> <tr class="separator:a3bd768ba86f6b52cf4f3db4078f0f31f inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7187f6165cddd0a2898d74f85c1bb669 inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a7187f6165cddd0a2898d74f85c1bb669">readOnly</a> () const </td></tr> <tr class="separator:a7187f6165cddd0a2898d74f85c1bb669 inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acd4c31606ae254e418e8f6b7aa396d3c inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#acd4c31606ae254e418e8f6b7aa396d3c">isOpen</a> () const </td></tr> <tr class="separator:acd4c31606ae254e418e8f6b7aa396d3c inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2f02aa94ebd2e96e9e3191d3942a7f30 inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a2f02aa94ebd2e96e9e3191d3942a7f30">isValid</a> () const </td></tr> <tr class="separator:a2f02aa94ebd2e96e9e3191d3942a7f30 inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1edf4d3fb2668c7e36383ef066ab365a inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a1edf4d3fb2668c7e36383ef066ab365a">seek</a> (long offset, <a class="el" href="classTagLib_1_1File.html#a8fd2780138fc011b6a487e0b3a6615f6">Position</a> p=<a class="el" href="classTagLib_1_1File.html#a8fd2780138fc011b6a487e0b3a6615f6a5540c31bc3e5913de0eb0e74b37fceee">Beginning</a>)</td></tr> <tr class="separator:a1edf4d3fb2668c7e36383ef066ab365a inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e009c66b9ceb73c12484b880bfdfce4 inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a7e009c66b9ceb73c12484b880bfdfce4">clear</a> ()</td></tr> <tr class="separator:a7e009c66b9ceb73c12484b880bfdfce4 inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3c6a0308191c368094fe0002b25e0799 inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a3c6a0308191c368094fe0002b25e0799">tell</a> () const </td></tr> <tr class="separator:a3c6a0308191c368094fe0002b25e0799 inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7d456d4a75d9a88332c32212dcc009c2 inherit pub_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a7d456d4a75d9a88332c32212dcc009c2">length</a> ()</td></tr> <tr class="separator:a7d456d4a75d9a88332c32212dcc009c2 inherit pub_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a> Additional Inherited Members</h2></td></tr> <tr class="inherit_header pub_static_methods_classTagLib_1_1File"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classTagLib_1_1File')"><img src="closed.png" alt="-"/> Static Public Member Functions inherited from <a class="el" href="classTagLib_1_1File.html">TagLib::File</a></td></tr> <tr class="memitem:aa0e2ed47719a62c884db9a3f5d63922a inherit pub_static_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#aa0e2ed47719a62c884db9a3f5d63922a">isReadable</a> (const char *file)</td></tr> <tr class="separator:aa0e2ed47719a62c884db9a3f5d63922a inherit pub_static_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a43141e2bcc0836fbf45e1dde054e460f inherit pub_static_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a43141e2bcc0836fbf45e1dde054e460f">isWritable</a> (const char *<a class="el" href="classTagLib_1_1File.html#a861c7094cfac168df2f219aaabd66aac">name</a>)</td></tr> <tr class="separator:a43141e2bcc0836fbf45e1dde054e460f inherit pub_static_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pro_methods_classTagLib_1_1File"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classTagLib_1_1File')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classTagLib_1_1File.html">TagLib::File</a></td></tr> <tr class="memitem:a3dfd129e048c52c53807bbe9059a3e0b inherit pro_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a3dfd129e048c52c53807bbe9059a3e0b">File</a> (<a class="el" href="namespaceTagLib.html#a14b47d9629bae2779b5c8a7517329fbb">FileName</a> file)</td></tr> <tr class="separator:a3dfd129e048c52c53807bbe9059a3e0b inherit pro_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a364fdfc30d530bb91c4a043cdd9ea6a9 inherit pro_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#a364fdfc30d530bb91c4a043cdd9ea6a9">File</a> (<a class="el" href="classTagLib_1_1IOStream.html">IOStream</a> *stream)</td></tr> <tr class="separator:a364fdfc30d530bb91c4a043cdd9ea6a9 inherit pro_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa92e1714e53f515cf9a6a0160b316773 inherit pro_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#aa92e1714e53f515cf9a6a0160b316773">setValid</a> (bool valid)</td></tr> <tr class="separator:aa92e1714e53f515cf9a6a0160b316773 inherit pro_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeb200b73df1ce87e4f526710fc3adef9 inherit pro_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#aeb200b73df1ce87e4f526710fc3adef9">truncate</a> (long <a class="el" href="classTagLib_1_1File.html#a7d456d4a75d9a88332c32212dcc009c2">length</a>)</td></tr> <tr class="separator:aeb200b73df1ce87e4f526710fc3adef9 inherit pro_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pro_static_methods_classTagLib_1_1File"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classTagLib_1_1File')"><img src="closed.png" alt="-"/> Static Protected Member Functions inherited from <a class="el" href="classTagLib_1_1File.html">TagLib::File</a></td></tr> <tr class="memitem:aa752cefcb9b3c2028879051bf99f258d inherit pro_static_methods_classTagLib_1_1File"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceTagLib.html#a0d56da3fb97ff5e823c2c4b3aea77e25">uint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTagLib_1_1File.html#aa752cefcb9b3c2028879051bf99f258d">bufferSize</a> ()</td></tr> <tr class="separator:aa752cefcb9b3c2028879051bf99f258d inherit pro_static_methods_classTagLib_1_1File"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>An <a class="el" href="namespaceTagLib_1_1MPEG.html" title="An implementation of TagLib::File with MPEG (MP3) specific methods.">MPEG</a> file class with some useful methods specific to <a class="el" href="namespaceTagLib_1_1MPEG.html" title="An implementation of TagLib::File with MPEG (MP3) specific methods.">MPEG</a>. </p> <p>This implements the generic <a class="el" href="classTagLib_1_1File.html" title="A file class with some useful methods for tag manipulation.">TagLib::File</a> API and additionally provides access to properties that are distinct to <a class="el" href="namespaceTagLib_1_1MPEG.html" title="An implementation of TagLib::File with MPEG (MP3) specific methods.">MPEG</a> files, notably access to the different ID3 tags. </p> </div><h2 class="groupheader">Member Enumeration Documentation</h2> <a class="anchor" id="a2fcf6920f55596560d01cc93538162ca"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="classTagLib_1_1MPEG_1_1File.html#a2fcf6920f55596560d01cc93538162ca">TagLib::MPEG::File::TagTypes</a></td> </tr> </table> </div><div class="memdoc"> <p>This set of flags is used for various operations and is suitable for being OR-ed together. </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a2fcf6920f55596560d01cc93538162caa203f60b81d8f8e5ddfaa06957f90da1a"></a>NoTags</em> </td><td class="fielddoc"> <p>Empty set. Matches no tag types. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a2fcf6920f55596560d01cc93538162caa636d68431df41f584bdd29f120a6e42e"></a>ID3v1</em> </td><td class="fielddoc"> <p>Matches <a class="el" href="namespaceTagLib_1_1ID3v1.html" title="An ID3v1 implementation.">ID3v1</a> tags. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a2fcf6920f55596560d01cc93538162caa7153e236bfa863d8ff4ed529a0df0d35"></a>ID3v2</em> </td><td class="fielddoc"> <p>Matches <a class="el" href="namespaceTagLib_1_1ID3v2.html" title="An ID3v2 implementation.">ID3v2</a> tags. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a2fcf6920f55596560d01cc93538162caa8c640478840e7bb7d181bfb2abfa7004"></a>APE</em> </td><td class="fielddoc"> <p>Matches <a class="el" href="namespaceTagLib_1_1APE.html" title="An implementation of APE metadata.">APE</a> tags. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="a2fcf6920f55596560d01cc93538162caa3b2e2cab990c05fe76a0296c025d8222"></a>AllTags</em> </td><td class="fielddoc"> <p>Matches all tag types. </p> </td></tr> </table> </div> </div> <h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="ab79d8e6404b02007713af133d4894636"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">TagLib::MPEG::File::File </td> <td>(</td> <td class="paramtype"><a class="el" href="namespaceTagLib.html#a14b47d9629bae2779b5c8a7517329fbb">FileName</a> </td> <td class="paramname"><em>file</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>readProperties</em> = <code>true</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTagLib_1_1AudioProperties.html#ae43831c9807aaf08d60d9b3b5efb67bb">Properties::ReadStyle</a> </td> <td class="paramname"><em>propertiesStyle</em> = <code><a class="el" href="classTagLib_1_1AudioProperties.html#ae43831c9807aaf08d60d9b3b5efb67bbac7b0fcdd909bbb360f26d60c6bc57f4e">Properties::Average</a></code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Contructs an <a class="el" href="namespaceTagLib_1_1MPEG.html" title="An implementation of TagLib::File with MPEG (MP3) specific methods.">MPEG</a> file from <em>file</em>. If <em>readProperties</em> is true the file's audio properties will also be read using <em>propertiesStyle</em>. If false, <em>propertiesStyle</em> is ignored.</p> </div> </div> <a class="anchor" id="aaf2fc5fcba2642add53c6306d9e9e45d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">TagLib::MPEG::File::File </td> <td>(</td> <td class="paramtype"><a class="el" href="namespaceTagLib.html#a14b47d9629bae2779b5c8a7517329fbb">FileName</a> </td> <td class="paramname"><em>file</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTagLib_1_1ID3v2_1_1FrameFactory.html">ID3v2::FrameFactory</a> * </td> <td class="paramname"><em>frameFactory</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>readProperties</em> = <code>true</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTagLib_1_1AudioProperties.html#ae43831c9807aaf08d60d9b3b5efb67bb">Properties::ReadStyle</a> </td> <td class="paramname"><em>propertiesStyle</em> = <code><a class="el" href="classTagLib_1_1AudioProperties.html#ae43831c9807aaf08d60d9b3b5efb67bbac7b0fcdd909bbb360f26d60c6bc57f4e">Properties::Average</a></code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Contructs an <a class="el" href="namespaceTagLib_1_1MPEG.html" title="An implementation of TagLib::File with MPEG (MP3) specific methods.">MPEG</a> file from <em>file</em>. If <em>readProperties</em> is true the file's audio properties will also be read using <em>propertiesStyle</em>. If false, <em>propertiesStyle</em> is ignored. The frames will be created using <em>frameFactory</em>.</p> </div> </div> <a class="anchor" id="ad3ac226309beb3989abf70b9ff02ed2f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">TagLib::MPEG::File::File </td> <td>(</td> <td class="paramtype"><a class="el" href="classTagLib_1_1IOStream.html">IOStream</a> * </td> <td class="paramname"><em>stream</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTagLib_1_1ID3v2_1_1FrameFactory.html">ID3v2::FrameFactory</a> * </td> <td class="paramname"><em>frameFactory</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>readProperties</em> = <code>true</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTagLib_1_1AudioProperties.html#ae43831c9807aaf08d60d9b3b5efb67bb">Properties::ReadStyle</a> </td> <td class="paramname"><em>propertiesStyle</em> = <code><a class="el" href="classTagLib_1_1AudioProperties.html#ae43831c9807aaf08d60d9b3b5efb67bbac7b0fcdd909bbb360f26d60c6bc57f4e">Properties::Average</a></code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Contructs an <a class="el" href="namespaceTagLib_1_1MPEG.html" title="An implementation of TagLib::File with MPEG (MP3) specific methods.">MPEG</a> file from <em>stream</em>. If <em>readProperties</em> is true the file's audio properties will also be read using <em>propertiesStyle</em>. If false, <em>propertiesStyle</em> is ignored. The frames will be created using <em>frameFactory</em>.</p> <dl class="section note"><dt>Note</dt><dd><a class="el" href="namespaceTagLib.html" title="A namespace for all TagLib related classes and functions.">TagLib</a> will <em>not</em> take ownership of the stream, the caller is responsible for deleting it after the <a class="el" href="classTagLib_1_1MPEG_1_1File.html" title="An MPEG file class with some useful methods specific to MPEG.">File</a> object. </dd></dl> </div> </div> <a class="anchor" id="a99689b55c2282dd2f6f388171e8c5f4e"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual TagLib::MPEG::File::~File </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Destroys this instance of the <a class="el" href="classTagLib_1_1MPEG_1_1File.html" title="An MPEG file class with some useful methods specific to MPEG.">File</a>. </p> <p>Reimplemented from <a class="el" href="classTagLib_1_1File.html#a956ca460c2a16b3b9c374f7b0c3203e8">TagLib::File</a>.</p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="af7edcd1be38683a64b23f9281012e51c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTagLib_1_1APE_1_1Tag.html">APE::Tag</a>* TagLib::MPEG::File::APETag </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"><em>create</em> = <code>false</code></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns a pointer to the <a class="el" href="namespaceTagLib_1_1APE.html" title="An implementation of APE metadata.">APE</a> tag of the file.</p> <p>If <em>create</em> is false (the default) this will return a null pointer if there is no valid <a class="el" href="namespaceTagLib_1_1APE.html" title="An implementation of APE metadata.">APE</a> tag. If <em>create</em> is true it will create an <a class="el" href="namespaceTagLib_1_1APE.html" title="An implementation of APE metadata.">APE</a> tag if one does not exist.</p> <dl class="section note"><dt>Note</dt><dd>The <a class="el" href="classTagLib_1_1Tag.html">Tag</a> <b>is still</b> owned by the <a class="el" href="classTagLib_1_1MPEG_1_1File.html" title="An MPEG file class with some useful methods specific to MPEG.">MPEG::File</a> and should not be deleted by the user. It will be deleted when the file (object) is destroyed. </dd></dl> </div> </div> <a class="anchor" id="a1d6f977dff6762d1bb194bf86eeae117"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classTagLib_1_1MPEG_1_1Properties.html">Properties</a>* TagLib::MPEG::File::audioProperties </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns the <a class="el" href="classTagLib_1_1MPEG_1_1Properties.html" title="An implementation of audio property reading for MP3.">MPEG::Properties</a> for this file. If no audio properties were read then this will return a null pointer. </p> <p>Implements <a class="el" href="classTagLib_1_1File.html#af0aef87791c4f3d2acdbedbe5a616fde">TagLib::File</a>.</p> </div> </div> <a class="anchor" id="a531eb2a7e9eabf9565659b3162961d38"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">long TagLib::MPEG::File::firstFrameOffset </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns the position in the file of the first <a class="el" href="namespaceTagLib_1_1MPEG.html" title="An implementation of TagLib::File with MPEG (MP3) specific methods.">MPEG</a> frame. </p> </div> </div> <a class="anchor" id="a553f1391a5038e66e427fc201c9d8933"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool TagLib::MPEG::File::hasAPETag </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>Returns whether or not the file on disk contains <a class="el" href="namespaceTagLib_1_1APE.html" title="An implementation of APE metadata.">APE</a> tag. </p> </div> </div> <a class="anchor" id="a68bee5b50ed952cfb2b67ee91be65574"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool TagLib::MPEG::File::hasID3v1Tag </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>Returns whether or not the file on disk contains <a class="el" href="namespaceTagLib_1_1ID3v1.html" title="An ID3v1 implementation.">ID3v1</a> tag. </p> </div> </div> <a class="anchor" id="ae42d5385d4e56818c8d10747190d5185"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool TagLib::MPEG::File::hasID3v2Tag </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>Returns whether or not the file on disk contains <a class="el" href="namespaceTagLib_1_1ID3v2.html" title="An ID3v2 implementation.">ID3v2</a> tag. </p> </div> </div> <a class="anchor" id="a7ae340bcd74f74289fc4f0cdba8c2bd5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTagLib_1_1ID3v1_1_1Tag.html">ID3v1::Tag</a>* TagLib::MPEG::File::ID3v1Tag </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"><em>create</em> = <code>false</code></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns a pointer to the <a class="el" href="namespaceTagLib_1_1ID3v1.html" title="An ID3v1 implementation.">ID3v1</a> tag of the file.</p> <p>A tag will always be returned, regardless of whether there is a tag in the file or not. Use <a class="el" href="classTagLib_1_1Tag.html#a3e5f0c8331fb4d29a50bc269e095a90e">Tag::isEmpty()</a> to check if the tag contains no data.</p> <dl class="section note"><dt>Note</dt><dd>The <a class="el" href="classTagLib_1_1Tag.html">Tag</a> <b>is still</b> owned by the <a class="el" href="classTagLib_1_1MPEG_1_1File.html" title="An MPEG file class with some useful methods specific to MPEG.">MPEG::File</a> and should not be deleted by the user. It will be deleted when the file (object) is destroyed. </dd></dl> </div> </div> <a class="anchor" id="aebe5029bca925e9ed7002b00244c1240"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTagLib_1_1ID3v2_1_1Tag.html">ID3v2::Tag</a>* TagLib::MPEG::File::ID3v2Tag </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"><em>create</em> = <code>false</code></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns a pointer to the <a class="el" href="namespaceTagLib_1_1ID3v2.html" title="An ID3v2 implementation.">ID3v2</a> tag of the file.</p> <p>A tag will always be returned, regardless of whether there is a tag in the file or not. Use <a class="el" href="classTagLib_1_1ID3v2_1_1Tag.html#a393502940d964e25864b06b2903c99db">ID3v2::Tag::isEmpty()</a> to check if the tag contains no data.</p> <dl class="section note"><dt>Note</dt><dd>The <a class="el" href="classTagLib_1_1Tag.html">Tag</a> <b>is still</b> owned by the <a class="el" href="classTagLib_1_1MPEG_1_1File.html" title="An MPEG file class with some useful methods specific to MPEG.">MPEG::File</a> and should not be deleted by the user. It will be deleted when the file (object) is destroyed. </dd></dl> </div> </div> <a class="anchor" id="a181e850d7fdf2be6421034fdf62db97c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">long TagLib::MPEG::File::lastFrameOffset </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns the position in the file of the last <a class="el" href="namespaceTagLib_1_1MPEG.html" title="An implementation of TagLib::File with MPEG (MP3) specific methods.">MPEG</a> frame. </p> </div> </div> <a class="anchor" id="afd3fbe4cd00a6f1181c6b81591d04c0a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">long TagLib::MPEG::File::nextFrameOffset </td> <td>(</td> <td class="paramtype">long </td> <td class="paramname"><em>position</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns the position in the file of the next <a class="el" href="namespaceTagLib_1_1MPEG.html" title="An implementation of TagLib::File with MPEG (MP3) specific methods.">MPEG</a> frame, using the current position as start </p> </div> </div> <a class="anchor" id="ae0627cd48f391a6a38c5ce64d47d0ebf"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">long TagLib::MPEG::File::previousFrameOffset </td> <td>(</td> <td class="paramtype">long </td> <td class="paramname"><em>position</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns the position in the file of the previous <a class="el" href="namespaceTagLib_1_1MPEG.html" title="An implementation of TagLib::File with MPEG (MP3) specific methods.">MPEG</a> frame, using the current position as start </p> </div> </div> <a class="anchor" id="a14e4829e69f02b5abadae8d170c866f9"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTagLib_1_1PropertyMap.html">PropertyMap</a> TagLib::MPEG::File::properties </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>Implements the unified property interface – export function. If the file contains more than one tag, only the first one (in the order <a class="el" href="namespaceTagLib_1_1ID3v2.html" title="An ID3v2 implementation.">ID3v2</a>, <a class="el" href="namespaceTagLib_1_1APE.html" title="An implementation of APE metadata.">APE</a>, <a class="el" href="namespaceTagLib_1_1ID3v1.html" title="An ID3v1 implementation.">ID3v1</a>) will be converted to the <a class="el" href="classTagLib_1_1PropertyMap.html" title="A map for format-independent <key,valuelist> tag representations.">PropertyMap</a>. </p> </div> </div> <a class="anchor" id="ac29e7b564399a24c79acbbecc93295fc"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void TagLib::MPEG::File::removeUnsupportedProperties </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTagLib_1_1StringList.html">StringList</a> & </td> <td class="paramname"><em>properties</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="afc6db369d727b4bd4cb5b5802b7cde31"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual bool TagLib::MPEG::File::save </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Save the file. If at least one tag – <a class="el" href="namespaceTagLib_1_1ID3v1.html" title="An ID3v1 implementation.">ID3v1</a> or <a class="el" href="namespaceTagLib_1_1ID3v2.html" title="An ID3v2 implementation.">ID3v2</a> – exists this will duplicate its content into the other tag. This returns true if saving was successful.</p> <p>If neither exists or if both tags are empty, this will strip the tags from the file.</p> <p>This is the same as calling save(AllTags);</p> <p>If you would like more granular control over the content of the tags, with the concession of generality, use paramaterized save call below.</p> <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTagLib_1_1MPEG_1_1File.html#acfe8c97e6d551f5bc1f588d3c2bf5bf5">save(int tags)</a> </dd></dl> <p>Implements <a class="el" href="classTagLib_1_1File.html#aaceb28b70b1257d3fd4c5a8b514041c8">TagLib::File</a>.</p> </div> </div> <a class="anchor" id="acfe8c97e6d551f5bc1f588d3c2bf5bf5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool TagLib::MPEG::File::save </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>tags</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Save the file. This will attempt to save all of the tag types that are specified by OR-ing together TagTypes values. The <a class="el" href="classTagLib_1_1MPEG_1_1File.html#afc6db369d727b4bd4cb5b5802b7cde31">save()</a> method above uses AllTags. This returns true if saving was successful.</p> <p>This strips all tags not included in the mask, but does not modify them in memory, so later calls to <a class="el" href="classTagLib_1_1MPEG_1_1File.html#afc6db369d727b4bd4cb5b5802b7cde31">save()</a> which make use of these tags will remain valid. This also strips empty tags. </p> </div> </div> <a class="anchor" id="a34325bf6c807b18423102b2d1a7f4ec3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool TagLib::MPEG::File::save </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>tags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>stripOthers</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Save the file. This will attempt to save all of the tag types that are specified by OR-ing together TagTypes values. The <a class="el" href="classTagLib_1_1MPEG_1_1File.html#afc6db369d727b4bd4cb5b5802b7cde31">save()</a> method above uses AllTags. This returns true if saving was successful.</p> <p>If <em>stripOthers</em> is true this strips all tags not included in the mask, but does not modify them in memory, so later calls to <a class="el" href="classTagLib_1_1MPEG_1_1File.html#afc6db369d727b4bd4cb5b5802b7cde31">save()</a> which make use of these tags will remain valid. This also strips empty tags. </p> </div> </div> <a class="anchor" id="a49d6f5b8f7a381fad63c0d131ae8c4eb"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool TagLib::MPEG::File::save </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>tags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>stripOthers</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>id3v2Version</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Save the file. This will attempt to save all of the tag types that are specified by OR-ing together TagTypes values. The <a class="el" href="classTagLib_1_1MPEG_1_1File.html#afc6db369d727b4bd4cb5b5802b7cde31">save()</a> method above uses AllTags. This returns true if saving was successful.</p> <p>If <em>stripOthers</em> is true this strips all tags not included in the mask, but does not modify them in memory, so later calls to <a class="el" href="classTagLib_1_1MPEG_1_1File.html#afc6db369d727b4bd4cb5b5802b7cde31">save()</a> which make use of these tags will remain valid. This also strips empty tags.</p> <p>The <em>id3v2Version</em> parameter specifies the version of the saved <a class="el" href="namespaceTagLib_1_1ID3v2.html" title="An ID3v2 implementation.">ID3v2</a> tag. It can be either 4 or 3. </p> </div> </div> <a class="anchor" id="abddd5ee7b045b8996dfbbad757ce36bf"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void TagLib::MPEG::File::setID3v2FrameFactory </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTagLib_1_1ID3v2_1_1FrameFactory.html">ID3v2::FrameFactory</a> * </td> <td class="paramname"><em>factory</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Set the <a class="el" href="classTagLib_1_1ID3v2_1_1FrameFactory.html" title="A factory for creating ID3v2 frames during parsing.">ID3v2::FrameFactory</a> to something other than the default.</p> <dl class="section see"><dt>See Also</dt><dd>ID3v2FrameFactory </dd></dl> </div> </div> <a class="anchor" id="a5811ad0d8ed86db539fc8b70a3f72b12"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTagLib_1_1PropertyMap.html">PropertyMap</a> TagLib::MPEG::File::setProperties </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTagLib_1_1PropertyMap.html">PropertyMap</a> & </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Implements the unified tag dictionary interface – import function. As with the export, only one tag is taken into account. If the file has no tag at all, <a class="el" href="namespaceTagLib_1_1ID3v2.html" title="An ID3v2 implementation.">ID3v2</a> will be created. </p> </div> </div> <a class="anchor" id="ae1ac9ceeadc0c3466d88b11bf084dd6c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool TagLib::MPEG::File::strip </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>tags</em> = <code><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a2fcf6920f55596560d01cc93538162caa3b2e2cab990c05fe76a0296c025d8222">AllTags</a></code></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>This will strip the tags that match the OR-ed together TagTypes from the file. By default it strips all tags. It returns true if the tags are successfully stripped.</p> <p>This is equivalent to strip(tags, true)</p> <dl class="section note"><dt>Note</dt><dd>This will also invalidate pointers to the ID3 and <a class="el" href="namespaceTagLib_1_1APE.html" title="An implementation of APE metadata.">APE</a> tags as their memory will be freed. </dd></dl> </div> </div> <a class="anchor" id="a0fbef1b2641c95f4788230b06131b158"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool TagLib::MPEG::File::strip </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>tags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>freeMemory</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>This will strip the tags that match the OR-ed together TagTypes from the file. By default it strips all tags. It returns true if the tags are successfully stripped.</p> <p>If <em>freeMemory</em> is true the ID3 and <a class="el" href="namespaceTagLib_1_1APE.html" title="An implementation of APE metadata.">APE</a> tags will be deleted and pointers to them will be invalidated. </p> </div> </div> <a class="anchor" id="aae67d8b32c72b6232d9ded88e1c10cfa"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classTagLib_1_1Tag.html">Tag</a>* TagLib::MPEG::File::tag </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns a pointer to a tag that is the union of the <a class="el" href="namespaceTagLib_1_1ID3v2.html" title="An ID3v2 implementation.">ID3v2</a> and <a class="el" href="namespaceTagLib_1_1ID3v1.html" title="An ID3v1 implementation.">ID3v1</a> tags. The <a class="el" href="namespaceTagLib_1_1ID3v2.html" title="An ID3v2 implementation.">ID3v2</a> tag is given priority in reading the information – if requested information exists in both the <a class="el" href="namespaceTagLib_1_1ID3v2.html" title="An ID3v2 implementation.">ID3v2</a> tag and the <a class="el" href="namespaceTagLib_1_1ID3v1.html" title="An ID3v1 implementation.">ID3v1</a> tag, the information from the <a class="el" href="namespaceTagLib_1_1ID3v2.html" title="An ID3v2 implementation.">ID3v2</a> tag will be returned.</p> <p>If you would like more granular control over the content of the tags, with the concession of generality, use the tag-type specific calls.</p> <dl class="section note"><dt>Note</dt><dd>As this tag is not implemented as an <a class="el" href="namespaceTagLib_1_1ID3v2.html" title="An ID3v2 implementation.">ID3v2</a> tag or an <a class="el" href="namespaceTagLib_1_1ID3v1.html" title="An ID3v1 implementation.">ID3v1</a> tag, but a union of the two this pointer may not be cast to the specific tag types.</dd></dl> <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classTagLib_1_1MPEG_1_1File.html#a7ae340bcd74f74289fc4f0cdba8c2bd5">ID3v1Tag()</a> </dd> <dd> <a class="el" href="classTagLib_1_1MPEG_1_1File.html#aebe5029bca925e9ed7002b00244c1240">ID3v2Tag()</a> </dd> <dd> <a class="el" href="classTagLib_1_1MPEG_1_1File.html#af7edcd1be38683a64b23f9281012e51c">APETag()</a> </dd></dl> <p>Implements <a class="el" href="classTagLib_1_1File.html#af0b855b79af02df89f096e4f8fb50b94">TagLib::File</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="mpegfile_8h_source.html">mpegfile.h</a></li> </ul> </div><!-- contents --> </div> </div> </body> </html>