{"id":18,"date":"2005-08-17T00:36:34","date_gmt":"2005-08-17T04:36:34","guid":{"rendered":"http:\/\/www.rakkar.org\/blog\/?p=14"},"modified":"2005-08-17T00:36:34","modified_gmt":"2005-08-17T04:36:34","slug":"open-al-resolved","status":"publish","type":"post","link":"https:\/\/rakkar.org\/blog\/index.php\/2005\/08\/17\/open-al-resolved\/","title":{"rendered":"OpenAL resolved"},"content":{"rendered":"<p>\t\t\t\tI resolved the bugs with OpenAL<br \/>\n&#8211; They initialize global variables in DLL main &#8211; which isn&#8217;t called if you use a library or source.<br \/>\n&#8211; They include mutually exclusive cpp and c versions of 3 of the same files.  All the cpp ones do is call the C ones in some #define so not only was it an pointless thing to do but made it so if you included both it wouldn&#8217;t compile with very strange errors.<br \/>\n&#8211; They changed it so you can no longer check for errors after querying the device but before creating the context.  I think this is actually a bug, since querying the device is something that should potentially return errors.<\/p>\n<p>I&#8217;m honestly curious as to why people knowingly release APIs in complex configurations that cannot compile in other configuations.  It could be that they don&#8217;t know, but I think this must be something people complain about a lot.  It could be that they think people won&#8217;t mind fixing it.   Possible, but it&#8217;s non-trivial.  I had to create a new file for example to call the DLL main contents in a constructor and destructor.   I imagine novice users would complain continuously and give up shortly thereafter.  It could be they don&#8217;t care.  Maybe they don&#8217;t have professional pride in their work because it is open source.<\/p>\n<p>One good thing about Microsoft is the projects they release actually load and build in different configurations.\t\t<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I resolved the bugs with OpenAL &#8211; They initialize global variables in DLL main &#8211; which isn&#8217;t called if you use a library or source. &#8211; They include mutually exclusive cpp and c versions of 3 of the same files. All the cpp ones do is call the C ones in some #define so not [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/posts\/18"}],"collection":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=18"}],"version-history":[{"count":0,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/posts\/18\/revisions"}],"wp:attachment":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=18"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=18"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=18"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}