<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://vegard.wiki/mediawiki/index.php?action=history&amp;feed=atom&amp;title=libsndfile</id>
	<title>libsndfile - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://vegard.wiki/mediawiki/index.php?action=history&amp;feed=atom&amp;title=libsndfile"/>
	<link rel="alternate" type="text/html" href="http://vegard.wiki/mediawiki/index.php?title=libsndfile&amp;action=history"/>
	<updated>2026-07-04T15:51:30Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>http://vegard.wiki/mediawiki/index.php?title=libsndfile&amp;diff=58&amp;oldid=prev</id>
		<title>Vegard: new page</title>
		<link rel="alternate" type="text/html" href="http://vegard.wiki/mediawiki/index.php?title=libsndfile&amp;diff=58&amp;oldid=prev"/>
		<updated>2019-12-15T07:23:22Z</updated>

		<summary type="html">&lt;p&gt;new page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;memory&amp;gt;&lt;br /&gt;
#include &amp;lt;stdexcept&amp;gt;&lt;br /&gt;
&lt;br /&gt;
extern &amp;quot;C&amp;quot; {&lt;br /&gt;
#include &amp;lt;sndfile.h&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
struct sound_sample {&lt;br /&gt;
        SF_INFO info;&lt;br /&gt;
        std::unique_ptr&amp;lt;float []&amp;gt; buffer;&lt;br /&gt;
&lt;br /&gt;
        sound_sample(const char *filename):&lt;br /&gt;
                buffer(nullptr)&lt;br /&gt;
        {&lt;br /&gt;
                std::unique_ptr&amp;lt;SNDFILE, decltype(&amp;amp;sf_close)&amp;gt; snd(sf_open(filename, SFM_READ, &amp;amp;info), &amp;amp;sf_close);&lt;br /&gt;
                if (!snd)&lt;br /&gt;
                        throw std::runtime_error(&amp;quot;sf_open()&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
                if (info.channels != 2)&lt;br /&gt;
                        throw std::runtime_error(&amp;quot;info.channels != 2&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
                buffer = std::make_unique&amp;lt;float []&amp;gt;(info.frames * info.channels);&lt;br /&gt;
                if (sf_readf_float(snd.get(), buffer.get(), info.frames) != info.frames)&lt;br /&gt;
                        throw std::runtime_error(&amp;quot;sf_readf_float()&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio programming]]&lt;br /&gt;
[[Category:C++]]&lt;/div&gt;</summary>
		<author><name>Vegard</name></author>
	</entry>
</feed>